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