|
|
1.1 ! root 1: /* Copyright (c) 1979 Regents of the University of California */ ! 2: ! 3: static char sccsid[] = "@(#)ato.c 1.1 8/27/80"; ! 4: ! 5: #include "whoami.h" ! 6: #include "0.h" ! 7: ! 8: long ! 9: a8tol(cp) ! 10: char *cp; ! 11: { ! 12: int err; ! 13: long l; ! 14: register CHAR c; ! 15: ! 16: l = 0; ! 17: err = 0; ! 18: while ((c = *cp++) != '\0') { ! 19: if (c == '8' || c == '9') ! 20: if (err == 0) { ! 21: error("8 or 9 in octal number"); ! 22: err++; ! 23: } ! 24: c -= '0'; ! 25: if ((l & 0160000000000L) != 0) ! 26: if (err == 0) { ! 27: error("Number too large for this implementation"); ! 28: err++; ! 29: } ! 30: l = (l << 3) | c; ! 31: } ! 32: return (l); ! 33: } ! 34: ! 35: /* ! 36: * Note that the version of atof ! 37: * used in this compiler does not ! 38: * (sadly) complain when floating ! 39: * point numbers are too large. ! 40: */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.