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