[PATCH] improve checks on usernames V3.

Rich Felker dalias at aerifal.cx
Tue Aug 9 17:33:08 UTC 2011


On Tue, Aug 09, 2011 at 09:37:58AM +0200, Denys Vlasenko wrote:
> #define isalnum(a) bb_ascii_isalnum(a)
> static ALWAYS_INLINE int bb_ascii_isalnum(unsigned char a)
> {
>         unsigned char b = a - '0';
>         if (b <= 9)
>                 return (b <= 9);
>         b = (a|0x20) - 'a';
>         return b <= 'z' - 'a';
> }

I'm scared to ask why this is written in such an obfuscated way rather
than just

return a-'0'<10U || (a|32)-'a'<26U;

Rich


More information about the busybox mailing list