atoi.c 327 B

123456789101112131415161718192021
  1. /* $Id$ */
  2. atoi(s)
  3. register char *s;
  4. {
  5. register int total = 0;
  6. register unsigned digit;
  7. int minus = 0;
  8. while (*s == ' ' || *s == '\t')
  9. s++;
  10. if (*s == '+') s++;
  11. else if (*s == '-') {
  12. s++;
  13. minus = 1;
  14. }
  15. while ((digit = *s++ - '0') < 10) {
  16. total *= 10;
  17. total += digit;
  18. }
  19. return(minus ? -total : total);
  20. }