[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BANLkTikk3Zof1Go8xLBeq2qyxGo6AFuv1g@mail.gmail.com>
Date: Thu, 14 Apr 2011 17:06:34 +0300
From: Alexey Dobriyan <adobriyan@...il.com>
To: Michal Nazarewicz <mina86@...a86.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] kstrtox: reuse functions from ctype.h
On Thu, Apr 14, 2011 at 4:34 PM, Michal Nazarewicz <mina86@...a86.com> wrote:
> kstrto*() family of functions uses open coded test
> for a hexadecimal digit and
Yes, so?
> own implementation of tolower() function.
No!
It's special cased for this very usage, because the rest of ASCII is
of no concern.
It doesn't claim tolower() semantics.
> - if (_tolower(s[1]) == 'x' && isxdigit(s[2]))
> + if (tolower(s[1]) == 'x' && isxdigit(s[2]))
> base = 16;
> else
> base = 8;
> } else
> base = 10;
> }
> - if (base == 16 && s[0] == '0' && _tolower(s[1]) == 'x')
> + if (base == 16 && s[0] == '0' && tolower(s[1]) == 'x')
> s += 2;
>
> acc = 0;
> @@ -47,8 +42,8 @@ static int _kstrtoull(const char *s, unsigned int base, unsigned long long *res)
>
> if ('0' <= *s && *s <= '9')
> val = *s - '0';
> - else if ('a' <= _tolower(*s) && _tolower(*s) <= 'f')
> - val = _tolower(*s) - 'a' + 10;
> + else if (isxdigit(*s))
[0-9] are isxdigit() as well, so the code sort of logically duplicate.
> + val = tolower(*s) - 'a' + 10;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists