Annotation of researchv10no/cmd/tsort/tsort.c, revision 1.1.1.1

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:        }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.