diff options
Diffstat (limited to 'lib/kstrtox.c')
| -rw-r--r-- | lib/kstrtox.c | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/kstrtox.c b/lib/kstrtox.c index bf85e05ce858..720144075c1e 100644 --- a/lib/kstrtox.c +++ b/lib/kstrtox.c @@ -51,13 +51,15 @@ unsigned int _parse_integer(const char *s, unsigned int base, unsigned long long  	res = 0;  	rv = 0; -	while (*s) { +	while (1) { +		unsigned int c = *s; +		unsigned int lc = c | 0x20; /* don't tolower() this line */  		unsigned int val; -		if ('0' <= *s && *s <= '9') -			val = *s - '0'; -		else if ('a' <= _tolower(*s) && _tolower(*s) <= 'f') -			val = _tolower(*s) - 'a' + 10; +		if ('0' <= c && c <= '9') +			val = c - '0'; +		else if ('a' <= lc && lc <= 'f') +			val = lc - 'a' + 10;  		else  			break;  | 
