lkml.org 
[lkml]   [2021]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 1/2] lib: add sputchar() helper
On Sat, Sep 04, 2021 at 06:36:41PM -0700, Joe Perches wrote:
> On Sat, 2021-09-04 at 16:10 -0700, Yury Norov wrote:
> > There are 47 occurrences of the code snippet like this:
> > if (buf < end)
> > *buf = ' ';
> > ++buf;
> >
> > This patch adds a helper function sputchar() to replace opencoding.
> > It adds a lot to readability, and also saves 43 bytes of text on x86.
>
> I think this patch does little to improve readability.
>
> Perhaps make it void and use something like
>
> sputchar(*buf++, end, <whateverchar>);

It's better, thank you.

> Though the sputchar name doesn't seems particularly intelligible.

I'm OK with any better name.

Thanks,
Yury

> > +static inline char *sputchar(char *buf, const char *end, char c)
> > +{
> > + if (buf < end)
> > + *buf = c;
> > +
> > + return buf + 1;
> > +}
> > +
> >  /*
> >   * General tracing related utility functions - trace_printk(),
> >   * tracing_on/tracing_off and tracing_start()/tracing_stop
> > diff --git a/lib/string_helpers.c b/lib/string_helpers.c
> []
> > @@ -335,12 +335,8 @@ static bool escape_space(unsigned char c, char **dst, char *end)
> >   return false;
> >   }
> >
> > - if (out < end)
> > - *out = '\\';
> > - ++out;
> > - if (out < end)
> > - *out = to;
> > - ++out;
> > + out = sputchar(out, end, '\\');
> > + out = sputchar(out, end, to);
>
> etc...
>

\
 
 \ /
  Last update: 2021-09-05 05:21    [W:0.085 / U:0.624 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site