3 unsigned int scan_ulong(s,u) register char *s; register unsigned long *u;
5 register unsigned int pos; register unsigned long result;
6 register unsigned long c;
8 while ((c = (unsigned long) (unsigned char) (s[pos] - '0')) < 10)
9 { result = result * 10 + c; ++pos; }
10 *u = result; return pos;