1*c9945492SAndroid Build Coastguard Worker #include <stdlib.h> 2*c9945492SAndroid Build Coastguard Worker #include <ctype.h> 3*c9945492SAndroid Build Coastguard Worker atoi(const char * s)4*c9945492SAndroid Build Coastguard Workerint atoi(const char *s) 5*c9945492SAndroid Build Coastguard Worker { 6*c9945492SAndroid Build Coastguard Worker int n=0, neg=0; 7*c9945492SAndroid Build Coastguard Worker while (isspace(*s)) s++; 8*c9945492SAndroid Build Coastguard Worker switch (*s) { 9*c9945492SAndroid Build Coastguard Worker case '-': neg=1; 10*c9945492SAndroid Build Coastguard Worker case '+': s++; 11*c9945492SAndroid Build Coastguard Worker } 12*c9945492SAndroid Build Coastguard Worker /* Compute n as a negative number to avoid overflow on INT_MIN */ 13*c9945492SAndroid Build Coastguard Worker while (isdigit(*s)) 14*c9945492SAndroid Build Coastguard Worker n = 10*n - (*s++ - '0'); 15*c9945492SAndroid Build Coastguard Worker return neg ? n : -n; 16*c9945492SAndroid Build Coastguard Worker } 17