|
|
1.1 root 1: #include "ts.h"
2: #include <stdio.h>
3:
4: int verbose = 0, cyclep = 1, verify = 0;
5: char *progname = 0;
6:
7: main(argc,argv)
8: int argc;
9: char **argv;
10: {
11: char name[100], *s;
12: int c, odd;
13: struct obj *o, *ts();
14: struct ref *r;
15: extern struct ref *undefrefs;
16: extern struct obj *obj0;
17:
18: progname = argv[0];
19: if (argc >= 2 && !freopen(argv[1], "r", stdin)) {
20: fprintf(stderr, "%s: cannot open %s\n", progname, argv[1]);
21: exit(1);
22: }
23: init();
24: odd = 1;
25: do {
26:
27: while((c = getchar()) <= ' ') if (c == EOF) goto eof;
28:
29: s = name;
30: do *s++ = c; while((c = getchar()) > ' ');
31: *s = 0;
32: if (odd) defobjref(name,1);
33: else newref(name);
34: odd = 1 - odd;
35: } while (c != EOF);
36: eof:
37: if (!odd) {
38: fprintf(stderr, "%s: odd data\n", progname);
39: exit(1);
40: }
41: for (o = ts(1); o; o = o->next) if (o != obj0) puts(o->name);
42: for (r = undefrefs; r; r = r->next) puts(r->name);
43: return 0;
44: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.