00001 00007 /* Embedded XINU, Copyright (C) 2007. All rights reserved. */ 00008 00014 long atol(char *p) 00015 { 00016 long n; 00017 int f; 00018 00019 n = 0; 00020 f = 0; 00021 for(;;p++) 00022 { 00023 switch(*p) 00024 { 00025 case ' ': 00026 case '\t': 00027 continue; 00028 case '-': 00029 f++; 00030 case '+': 00031 p++; 00032 } 00033 break; 00034 } 00035 while(*p >= '0' && *p <= '9') 00036 { n = n*10 + *p++ - '0'; } 00037 return(f? -n: n); 00038 }