diff options
author | Mystery Man <unknown@mandriva.org> | 2005-04-05 19:41:54 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2005-04-05 19:41:54 +0000 |
commit | 1d9a4b73a37c6e942f909c2d42ca13b5c47e8362 (patch) | |
tree | 5bab4266bc57a31d97ac6a8badc2ede721a42c9c /mdk-stage1/dietlibc/lib/strtoul.c | |
parent | 4691e29d1228b10abbe586c5ecb87ec9e13bd3ec (diff) | |
download | drakx-backup-do-not-use-10_2_20mdk.tar drakx-backup-do-not-use-10_2_20mdk.tar.gz drakx-backup-do-not-use-10_2_20mdk.tar.bz2 drakx-backup-do-not-use-10_2_20mdk.tar.xz drakx-backup-do-not-use-10_2_20mdk.zip |
This commit was manufactured by cvs2svn to create tag 'V10_2_20mdk'.V10_2_20mdk
Diffstat (limited to 'mdk-stage1/dietlibc/lib/strtoul.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/strtoul.c | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/mdk-stage1/dietlibc/lib/strtoul.c b/mdk-stage1/dietlibc/lib/strtoul.c deleted file mode 100644 index e9c09fb59..000000000 --- a/mdk-stage1/dietlibc/lib/strtoul.c +++ /dev/null @@ -1,44 +0,0 @@ -#include <ctype.h> -#include "dietfeatures.h" -#include <errno.h> -#include <limits.h> -#include <stdlib.h> - -unsigned long int strtoul(const char *nptr, char **endptr, int base) -{ - int neg = 0; - unsigned long int v=0; - - while(isspace(*nptr)) ++nptr; - if (*nptr == '-') { neg=1; nptr++; } - if (*nptr == '+') ++nptr; - if (base==16 && nptr[0]=='0') goto skip0x; - if (!base) { - if (*nptr=='0') { - base=8; -skip0x: - if (nptr[1]=='x'||nptr[1]=='X') { - nptr+=2; - base=16; - } - } else - base=10; - } - while(*nptr) { - register unsigned char c=*nptr; - c=(c>='a'?c-'a'+10:c>='A'?c-'A'+10:c<='9'?c-'0':0xff); - if (c>=base) break; - { - register unsigned long int w=v*base; - if (w<v) { - errno=ERANGE; - return ULONG_MAX; - } - v=w+c; - } - ++nptr; - } - if (endptr) *endptr=(char *)nptr; - errno=0; /* in case v==ULONG_MAX, ugh! */ - return (neg?-v:v); -} |