scan_8long.c (292B)
1 #include "scan.h" 2 3 unsigned int scan_8long(char *s, unsigned long *u) 4 { 5 unsigned int pos; unsigned long result; 6 unsigned long c; 7 pos = 0; result = 0; 8 while ((c = (unsigned long) (unsigned char) (s[pos] - '0')) < 8) 9 { result = result * 8 + c; ++pos; } 10 *u = result; return pos; 11 }