Annotation of researchv10no/cmd/tsort/tsort.c, revision 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.