#include #include 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; }