aboutsummaryrefslogtreecommitdiff
path: root/src/base/string/raw/atoi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/string/raw/atoi.c')
-rw-r--r--src/base/string/raw/atoi.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/base/string/raw/atoi.c b/src/base/string/raw/atoi.c
index e62ec62..d407411 100644
--- a/src/base/string/raw/atoi.c
+++ b/src/base/string/raw/atoi.c
@@ -1,9 +1,16 @@
long
str·atoi(char *s)
{
- long n = 0;
+ long neg=0, n = 0;
+
+ /* check for sign */
+ if(*s == '-')
+ neg=1,s++;
+ else if(*s == '+')
+ s++;
+
while(*s)
n = 10*n + (*s++ - '0');
- return n;
+ return neg ? -n : +n;
}