|
|
1.1 root 1: /* Copyright (c) 1979 Regents of the University of California */
2:
3: static char sccsid[] = "@(#)ato.c 1.2 3/8/81";
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 & 016000000000L) != 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.