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.shevche...@intel.com>
Intel Finland Oy

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to