Paul Eggert wrote:
> > + while (isspace ((unsigned char) *str))
> > + str++;
> > + if (isdigit ((unsigned char) *str))
> > + {
> > + unsigned long ret = strtoul (str, (char **)ppz, base);
>
> Perhaps "*str != '+' && *str != '-'" instead of "isdigit ((unsigned
> char) *str)? It'd be a bit faster.
"*str != '+' && *str != '-'" would work as well, yes.
Regarding speed, I'm not sure: the byte describing the properties
of *str is in the L1 cache after the execution of
isspace ((unsigned char) *str)
Bruno