diff options
Diffstat (limited to 'scan_ulong.c')
-rw-r--r-- | scan_ulong.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/scan_ulong.c b/scan_ulong.c new file mode 100644 index 0000000..d70b334 --- /dev/null +++ b/scan_ulong.c @@ -0,0 +1,14 @@ +#include "scan.h" + +unsigned int scan_ulong(register const char *s,register unsigned long *u) +{ + register unsigned int pos = 0; + register unsigned long result = 0; + register unsigned long c; + while ((c = (unsigned long) (unsigned char) (s[pos] - '0')) < 10) { + result = result * 10 + c; + ++pos; + } + *u = result; + return pos; +} |