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

1.1       root        1: main(argc, argv)
                      2: char **argv;
                      3: {
                      4:        char *p;
                      5:        if(argc<2 || *argv[1]==0)
                      6:                fini(".");
                      7:        for(p=argv[1]; *p; p++)
                      8:                continue;
                      9:        while(p>=argv[1] && *--p=='/')
                     10:                ;
                     11:        if(p < argv[1])
                     12:                fini("/");
                     13:        while(p>=argv[1] && *p!='/')
                     14:                p--;
                     15:        if(p < argv[1])
                     16:                fini(".");
                     17:        while(p>=argv[1] && *p=='/')
                     18:                p--;
                     19:        if(p < argv[1])
                     20:                fini("/");
                     21:        p[1] = 0;
                     22:        fini(argv[1]);
                     23: }
                     24: 
                     25: fini(s)
                     26: char *s;
                     27: {
                     28:        printf("%s\n",s);
                     29:        exit(0);
                     30: }

unix.superglobalmegacorp.com

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