summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/strtoll.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/lib/strtoll.c')
-rw-r--r--mdk-stage1/dietlibc/lib/strtoll.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/strtoll.c b/mdk-stage1/dietlibc/lib/strtoll.c
new file mode 100644
index 000000000..7b8e28a1d
--- /dev/null
+++ b/mdk-stage1/dietlibc/lib/strtoll.c
@@ -0,0 +1,15 @@
+#include <ctype.h>
+
+extern unsigned long int strtoull(const char *nptr, char **endptr, int base);
+
+long int strtoll(const char *nptr, char **endptr, int base)
+{
+ int neg=0;
+ unsigned long long int v;
+
+ while(isspace(*nptr)) nptr++;
+
+ if (*nptr == '-' && isdigit(nptr[1])) { neg=-1; nptr++; }
+ v=strtoull(nptr,endptr,base);
+ return (neg?-v:v);
+}