Commit 4cfdd920 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Michael Ellerman

powerpc/prom_init: Move custom isspace() to its own namespace

If by some reason any of the headers will include ctype.h
we will have a name collision. Avoid this by moving isspace()
to the dedicate namespace.

First appearance of the code is in the commit cf68787b
("powerpc/prom_init: Evaluate mem kernel parameter for early allocation").
Reported-by: default avatarkernel test robot <lkp@intel.com>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
[mpe: Reformat prom_isxdigit() now that we allow longer lines]
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210510144925.58195-1-andriy.shevchenko@linux.intel.com
parent 8f6a54bc
...@@ -701,13 +701,12 @@ static int __init prom_setprop(phandle node, const char *nodename, ...@@ -701,13 +701,12 @@ static int __init prom_setprop(phandle node, const char *nodename,
} }
/* We can't use the standard versions because of relocation headaches. */ /* We can't use the standard versions because of relocation headaches. */
#define isxdigit(c) (('0' <= (c) && (c) <= '9') \ #define prom_isxdigit(c) \
|| ('a' <= (c) && (c) <= 'f') \ (('0' <= (c) && (c) <= '9') || ('a' <= (c) && (c) <= 'f') || ('A' <= (c) && (c) <= 'F'))
|| ('A' <= (c) && (c) <= 'F'))
#define isdigit(c) ('0' <= (c) && (c) <= '9') #define prom_isdigit(c) ('0' <= (c) && (c) <= '9')
#define islower(c) ('a' <= (c) && (c) <= 'z') #define prom_islower(c) ('a' <= (c) && (c) <= 'z')
#define toupper(c) (islower(c) ? ((c) - 'a' + 'A') : (c)) #define prom_toupper(c) (prom_islower(c) ? ((c) - 'a' + 'A') : (c))
static unsigned long prom_strtoul(const char *cp, const char **endp) static unsigned long prom_strtoul(const char *cp, const char **endp)
{ {
...@@ -716,14 +715,14 @@ static unsigned long prom_strtoul(const char *cp, const char **endp) ...@@ -716,14 +715,14 @@ static unsigned long prom_strtoul(const char *cp, const char **endp)
if (*cp == '0') { if (*cp == '0') {
base = 8; base = 8;
cp++; cp++;
if (toupper(*cp) == 'X') { if (prom_toupper(*cp) == 'X') {
cp++; cp++;
base = 16; base = 16;
} }
} }
while (isxdigit(*cp) && while (prom_isxdigit(*cp) &&
(value = isdigit(*cp) ? *cp - '0' : toupper(*cp) - 'A' + 10) < base) { (value = prom_isdigit(*cp) ? *cp - '0' : prom_toupper(*cp) - 'A' + 10) < base) {
result = result * base + value; result = result * base + value;
cp++; cp++;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment