Re: [PATCH 5/6] staging: rtl8192e: re-use string_escape_mem()

From: Andy Shevchenko
Date: Wed Jul 02 2014 - 10:12:16 EST


On Wed, 2014-07-02 at 06:35 -0700, Joe Perches wrote:
> On Wed, 2014-07-02 at 16:20 +0300, Andy Shevchenko wrote:
> > Let's use kernel's library function to escape a buffer.

[]

> > @@ -2965,15 +2965,8 @@ static inline const char *escape_essid(const char *essid, u8 essid_len)
> > }
> >
> > essid_len = min(essid_len, (u8)IW_ESSID_MAX_SIZE);
> > - while (essid_len--) {
> > - if (*s == '\0') {
> > - *d++ = '\\';
> > - *d++ = '0';
> > - s++;
> > - } else {
> > - *d++ = *s++;
> > - }
> > - }
> > + d += string_escape_mem(essid, essid_len, escaped, sizeof(escaped) - 1,
> > + ESCAPE_NULL, NULL);
>
> I'd've probably used
>
> d += string_escape_mem(essid, essid_len, d, ...
> or
> d = escaped + string_escap_mem(essid, essid_len, escaped, ...
>
> so there's some relation between the thing being added to
>
> > *d = '\0';
>
> or maybe not used d at all with
>
> escaped[1 + string_escape_mem(etc...)] = 0;

Perhaps without '1 + ' part. I could update this as well if someone
insists.

>
> > return escaped;
> > }
>
> Unrelated but this isn't a thread safe or multiple instance
> safe function.

Do you mean escape_ssid() or string_escape_mem() or both?

For the string_escape_mem() I think caller should take care of.

> It seems it's used only in debugging message output though.


--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
Intel Finland Oy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/