summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/strtoul.c
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
commit02fec4701cee79f875c1d02b8b4aee09380dbcb8 (patch)
treef4f291aedbb2e60ee58351481858a8cd3ec80b6b /mdk-stage1/dietlibc/lib/strtoul.c
parent9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff)
downloaddrakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/lib/strtoul.c')
-rw-r--r--mdk-stage1/dietlibc/lib/strtoul.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/strtoul.c b/mdk-stage1/dietlibc/lib/strtoul.c
new file mode 100644
index 000000000..bee849685
--- /dev/null
+++ b/mdk-stage1/dietlibc/lib/strtoul.c
@@ -0,0 +1,39 @@
+#include <ctype.h>
+
+static char *num="0123456789abcdefghijklmnopqrstuvwxyz";
+
+unsigned long int strtoul(const char *nptr, char **endptr, int base)
+{
+ long int v=0;
+ int a=1,i;
+
+ while(isspace(*nptr)) nptr++;
+
+ if (*nptr == '+') { nptr++; }
+ if (!base)
+ {
+ if (*nptr=='0')
+ {
+ base=8;
+ if ((*(nptr+1)=='x')||(*(nptr+1)=='X')) base=16;
+ }
+ else
+ base=10;
+ }
+ while((a)&&(*nptr))
+ {
+ a=0;
+ for (i=0;(!a)&&(i<base);i++)
+ {
+ if ((*nptr == num[i]) || (*nptr == (num[i]-' ')))
+ {
+ a=1;
+ v=(v*base)+(&num[i]-num);
+ }
+ }
+ if ((!a)&&(base==16)&&((*nptr=='x')||(*nptr=='X'))) a=1;
+ if (a) nptr++;
+ }
+ if (endptr) *endptr=(char *)nptr;
+ return v;
+}