summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux/syslinux-4.03/memdump/strtoul.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux/syslinux-4.03/memdump/strtoul.c')
-rw-r--r--contrib/syslinux/syslinux-4.03/memdump/strtoul.c70
1 files changed, 0 insertions, 70 deletions
diff --git a/contrib/syslinux/syslinux-4.03/memdump/strtoul.c b/contrib/syslinux/syslinux-4.03/memdump/strtoul.c
deleted file mode 100644
index c7c81d6..0000000
--- a/contrib/syslinux/syslinux-4.03/memdump/strtoul.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * strtoul.c
- *
- */
-
-#include "mystuff.h"
-
-static inline int isspace(int c)
-{
- return (c <= ' '); /* Close enough */
-}
-
-static inline int digitval(int ch)
-{
- if (ch >= '0' && ch <= '9') {
- return ch - '0';
- } else if (ch >= 'A' && ch <= 'Z') {
- return ch - 'A' + 10;
- } else if (ch >= 'a' && ch <= 'z') {
- return ch - 'a' + 10;
- } else {
- return -1;
- }
-}
-
-unsigned long strtoul(const char *nptr, char **endptr, int base)
-{
- int minus = 0;
- unsigned long v = 0;
- int d;
-
- while (isspace((unsigned char)*nptr)) {
- nptr++;
- }
-
- /* Single optional + or - */
- {
- char c = *nptr;
- if (c == '-' || c == '+') {
- minus = (c == '-');
- nptr++;
- }
- }
-
- if (base == 0) {
- if (nptr[0] == '0' && (nptr[1] == 'x' || nptr[1] == 'X')) {
- nptr += 2;
- base = 16;
- } else if (nptr[0] == '0') {
- nptr++;
- base = 8;
- } else {
- base = 10;
- }
- } else if (base == 16) {
- if (nptr[0] == '0' && (nptr[1] == 'x' || nptr[1] == 'X')) {
- nptr += 2;
- }
- }
-
- while ((d = digitval(*nptr)) >= 0 && d < base) {
- v = v * base + d;
- nptr++;
- }
-
- if (endptr)
- *endptr = (char *)nptr;
-
- return minus ? -v : v;
-}