#include <stdlib.h>#include <ctype.h>longatol(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;}