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
;