On Thu, 26 Oct 2023 23:20:15 +0300
Andy Shevchenko <andriy.shevche...@linux.intel.com> wrote:

> > +#define DECLARE_SEQ_BUF(NAME, SIZE)                                        
> > \
> > +   char __ ## NAME ## _buffer[SIZE] = "";                          \
> > +   struct seq_buf NAME = { .buffer = &__ ## NAME ## _buffer,       \
> > +                           .size = SIZE }  
> 
> Hmm... Wouldn't be more readable to have it as
> 
> #define DECLARE_SEQ_BUF(NAME, SIZE)                   \
>       char __ ## NAME ## _buffer[SIZE] = "";          \
>       struct seq_buf NAME = {                         \
>               .buffer = &__ ## NAME ## _buffer,       \
>               .size = SIZE,                           \
>       }
> 
> ?

I agree with the above.

> 
> ...
> 
> > +static inline char *seq_buf_str(struct seq_buf *s)
> >  {
> >     if (WARN_ON(s->size == 0))
> > -           return;
> > +           return "";  
> 
> I'm wondering why it's a problem to have an empty string?

Not sure what you mean? With s->size = 0, s->buffer may not have been
assigned. That shouldn't be the case, but it does make it more robust.

-- Steve


> 
> >     if (seq_buf_buffer_left(s))
> >             s->buffer[s->len] = 0;
> >     else
> >             s->buffer[s->size - 1] = 0;
> > +
> > +   return s->buffer;
> >  }  
> 


Reply via email to