libowfat/scan/scan_ulong.c

16 lines
322 B
C
Raw Normal View History

2001-02-02 17:54:47 +00:00
#include "scan.h"
unsigned int scan_ulong(const char* src,unsigned long int* dest) {
2001-02-02 17:54:47 +00:00
register const char *tmp=src;
register unsigned long int l=0;
2001-02-02 17:54:47 +00:00
register unsigned char c;
while ((c=*tmp-'0')<10) {
unsigned long int m=l;
2001-02-02 17:54:47 +00:00
l=l*10+c;
if ((l>>3) < m) break;
2001-02-02 17:54:47 +00:00
++tmp;
}
*dest=l;
return tmp-src;
}