move msghdr and cmsghdr out of bits/socket.h
[musl.git] / src / stdlib / atol.c
blob140ea3ea3fa27ce690bd61d8a7520efa28e3aad1
1 #include <stdlib.h>
2 #include <ctype.h>
4 long atol(const char *s)
6 long n=0;
7 int neg=0;
8 while (isspace(*s)) s++;
9 switch (*s) {
10 case '-': neg=1;
11 case '+': s++;
13 /* Compute n as a negative number to avoid overflow on LONG_MIN */
14 while (isdigit(*s))
15 n = 10*n - (*s++ - '0');
16 return neg ? n : -n;