diff options
Diffstat (limited to 'src/base/string/raw/atoi.c')
-rw-r--r-- | src/base/string/raw/atoi.c | 11 |
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; } |