Annotation of researchv9/jtools/src/sam/multi.c, revision 1.1.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.