Annotation of researchv10no/cmd/spool/fsend.c, revision 1.1

1.1     ! root        1: #include       <stdio.h>
        !             2: 
        !             3: /*
        !             4:  *  fsend -- spooler to send file to GCOS
        !             5:  */
        !             6: 
        !             7: 
        !             8: #define        DPR     0
        !             9: #define        FGET    0
        !            10: #define        FSEND   1
        !            11: #define        GCAT    0
        !            12: #define        LPR     0
        !            13: 
        !            14: #define        NAME    "fsend"
        !            15: #define        BF      'B'
        !            16: #define        MAXCOPY 204800L
        !            17: #define FIRSTCHAR 'N'-1
        !            18: 
        !            19: char   cfname[]        = "/usr/spool/dpd/cfMXXXXX";
        !            20: char   dfname[]        = "/usr/spool/dpd/dfMXXXXX";
        !            21: char   lfname[]        = "/usr/spool/dpd/lfMXXXXX";
        !            22: char   tfname[]        = "/usr/spool/dpd/tfMXXXXX";
        !            23: char   zfname[]        = "/usr/spool/dpd/zfMXXXXX";
        !            24: 
        !            25: int    namef   = 0;
        !            26: char   fname[13] = "pipe.end"  /* gcos file name */;
        !            27: char   *fmode;
        !            28: char   *fzf;
        !            29: 
        !            30: #include       "spool.c"
        !            31: 
        !            32: main(agc, agv)
        !            33: int agc;
        !            34: char *agv[];
        !            35: {
        !            36:        int i;
        !            37: 
        !            38:        argc = agc;    argv = agv;
        !            39:        pidfn();
        !            40:        remotsw = TOSS;         /*default is toss out online output*/
        !            41:        wantmail = 1;           /*default is send mail.*/
        !            42:        grade = '1';
        !            43:        fmode = "a";
        !            44: 
        !            45:        while (argc>1 && (arg = argv[1])[0]=='-') {
        !            46:            if(!comopt(arg[1]))
        !            47:                switch (arg[1]) {
        !            48: 
        !            49:                case 'a':
        !            50:                        fmode = "a";
        !            51:                        break;
        !            52: 
        !            53:                case 'b':
        !            54:                        fmode = "b";
        !            55:                        break;
        !            56: 
        !            57:                case 'f':
        !            58:                        arg = getarg('f');
        !            59:                        i = 0;
        !            60:                        while((fname[i] = arg[i]))
        !            61:                                if(++i > 12) {
        !            62:                                        fname[i] = '\0';
        !            63:                                        break;
        !            64:                                }
        !            65:                        mailfile = fname;
        !            66:                        namef = 1;
        !            67:                        break;
        !            68: 
        !            69:                case 'u':
        !            70:                        arg = getarg('u');
        !            71:                        i = 0;
        !            72:                        while((gcosid[i] = arg[i]))
        !            73:                                if(++i > 12) {
        !            74:                                        gcosid[i] = '\0';
        !            75:                                        break;
        !            76:                                }
        !            77:                        uidf = 1;
        !            78:                        break;
        !            79: 
        !            80:                case 'x':
        !            81:                        archsw++;
        !            82:                        break;
        !            83: 
        !            84:                default:
        !            85:                        fprintf(stderr, "%s: Unrecognized option: %s\n", NAME, arg);
        !            86:                        break;
        !            87:                }
        !            88:                argc--;
        !            89:                argv++;
        !            90:        }
        !            91: 
        !            92:        spool1();               /*setup initial GCOS cards.*/
        !            93:        card('L',"$     select  cc/unixsupport/access");
        !            94: 
        !            95:        filargs();              /*process file arguments.*/
        !            96: 
        !            97:        spool2();               /*put out final cards, and spool job.*/
        !            98:        out();
        !            99: }
        !           100: 
        !           101: nuact(file)
        !           102: char file[];
        !           103: {
        !           104:        int c, i, j;
        !           105: 
        !           106:        if(namef)
        !           107:                namef = 0;
        !           108:        else {
        !           109:                i = 0;
        !           110:                j = 0;
        !           111:                while((c = file[i++]) != '\0') {
        !           112:                        if(c == '/') { j = 0; continue; }
        !           113:                        if(j >= 12) break;
        !           114:                        fname[j++] = c;
        !           115:                }
        !           116:                fname[j++] = '\0';
        !           117:        }
        !           118:        if(gcdebug)
        !           119:                card('L', "$    select  cc/test/fsend.1");
        !           120:        else
        !           121:                card('L', "$    select  cc/unixsupport/fsend.1");
        !           122:        card('L', " ignore errs");
        !           123:        card('L', sprintf(buf, "fcreat %s/%s,blocks/%d,unlimited/,read,modify/%s/",
        !           124:                        gcosid, fname, gsize, gcosid) );
        !           125:        card('L', sprintf(buf, "fcreat %s/%s,blocks/1,unlimited/,read,modify/%s/",
        !           126:                        gcosid, fname, gcosid) );
        !           127:        if(gcdebug)
        !           128:                card('L', "$    select  cc/test/fsend.2");
        !           129:        else
        !           130:                card('L', "$    select  cc/unixsupport/fsend.2");
        !           131:        card('L', sprintf(buf, "%s %s/%s %ld", fmode, gcosid, fname, usize) );
        !           132:        card('L', "$    data    i*,ncksum");
        !           133: }
        !           134: 
        !           135: archive()
        !           136: {
        !           137:        card('L', "$      select  cc/unixsupport/arch" );
        !           138:        card('L', sprintf(buf, "s   %-12s %-12s", gcosid, fname) );
        !           139: }

unix.superglobalmegacorp.com

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