Annotation of researchv9/jtools/src/sam/multi.c, revision 1.1

1.1     ! root        1: #include "sam.h"
        !             2: 
        !             3: struct Filelist        file;
        !             4: ushort tag;
        !             5: 
        !             6: File *
        !             7: newfile()
        !             8: {
        !             9:        register File *f;
        !            10:        inslist((List *)&file, 0, (long)(f=Fopen()));
        !            11:        f->tag=tag++;
        !            12:        if(downloaded)
        !            13:                outTs(Hnewname, f->tag);
        !            14:        /* already sorted; file name is "" */
        !            15:        return f;
        !            16: }
        !            17: delfile(f)
        !            18:        register File *f;
        !            19: {
        !            20:        register w=whichmenu(f);
        !            21:        if(downloaded)
        !            22:                outTs(Hdelname, f->tag);
        !            23:        dellist((List *)&file, w);
        !            24:        Fclose(f);
        !            25: }
        !            26: sortname(f)
        !            27:        register File *f;
        !            28: {
        !            29:        register i, cmp;
        !            30:        register w=whichmenu(f);
        !            31:        register dupwarned=FALSE;
        !            32:        dellist((List *)&file, w);
        !            33:        if(f==cmd)
        !            34:                i=0;
        !            35:        else for(i=0; i<file.nused; i++){
        !            36:                cmp=strcmp(f->name.s, file.ptr[i]->name.s);
        !            37:                if(cmp==0 && !dupwarned){
        !            38:                        dupwarned=TRUE;
        !            39:                        warn_s(Wdupname, (char *)f->name.s);
        !            40:                }else if(cmp<0 && (i>0 || cmd==0))
        !            41:                        break;
        !            42:        }
        !            43:        inslist((List *)&file, i, (long)f);
        !            44:        if(downloaded)
        !            45:                outTsS(Hmovname, f->tag, f->name.s);
        !            46: }
        !            47: whichmenu(f)
        !            48:        File *f;
        !            49: {
        !            50:        register i;
        !            51:        for(i=0; i<file.nused; i++)
        !            52:                if(file.ptr[i]==f)
        !            53:                        return i;
        !            54:        return -1;
        !            55: }
        !            56: state(f, cleandirty)
        !            57:        register File *f;
        !            58:        enum State cleandirty;
        !            59: {
        !            60:        if(f==cmd)
        !            61:                return;
        !            62:        if(downloaded && whichmenu(f)>=0){      /* else flist or menu */
        !            63:                if(f->state==Dirty && cleandirty!=Dirty)
        !            64:                        outTs(Hclean, f->tag);
        !            65:                else if(f->state!=Dirty && cleandirty==Dirty)
        !            66:                        outTs(Hdirty, f->tag);
        !            67:        }
        !            68:        f->state=cleandirty;
        !            69: }
        !            70: File *
        !            71: lookfile()
        !            72: {
        !            73:        register i;
        !            74:        for(i=0; i<file.nused; i++)
        !            75:                if(strcmp(file.ptr[i]->name.s, genstr.s)==0)
        !            76:                        return file.ptr[i];
        !            77:        return 0;
        !            78: }

unix.superglobalmegacorp.com

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