}
if (base == 0)
base = c == '0' ? 8 : 10;
- cutoff = (unsigned long)ULONG_MAX / (unsigned long)base;
- cutlim = (unsigned long)ULONG_MAX % (unsigned long)base;
+ cutoff = (unsigned long)0xffffffff / (unsigned long)base;
+ cutlim = (unsigned long)0xffffffff % (unsigned long)base;
for (acc = 0, any = 0;; c = *s++)
{
if (isdigit(c))
}
if (any < 0)
{
- acc = ULONG_MAX;
+ acc = 0xffffffff;
}
else if (neg)
acc = -acc;
if (endptr != 0)
- *endptr = any ? (char *)s - 1 : (char *)nptr;
+ *endptr = any ? (char *)((size_t)(s - 1)) : (char *)((size_t)nptr);
return acc;
}