mirror of
https://github.com/fluencelabs/musl
synced 2025-05-05 12:02:13 +00:00
18 lines
308 B
C
18 lines
308 B
C
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
|
|
long atol(const char *s)
|
|
{
|
|
long n=0;
|
|
int neg=0;
|
|
while (isspace(*s)) s++;
|
|
switch (*s) {
|
|
case '-': neg=1;
|
|
case '+': s++;
|
|
}
|
|
/* Compute n as a negative number to avoid overflow on LONG_MIN */
|
|
while (isdigit(*s))
|
|
n = 10*n - (*s++ - '0');
|
|
return neg ? n : -n;
|
|
}
|