Annotation of researchv9/cmd/adb/null/setup.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * init routines -- dummy version
        !             3:  */
        !             4: #include "defs.h"
        !             5: #include "space.h"
        !             6: #include "map.h"
        !             7: 
        !             8: char   *symfil = "a.out";
        !             9: char   *corfil = "core";
        !            10: 
        !            11: MAP    symmap[NMAP];
        !            12: MAP    cormap[NMAP];
        !            13: 
        !            14: int fsym, fcor;
        !            15: 
        !            16: setsym()
        !            17: {
        !            18: 
        !            19:        fsym = getfile(symfil, 1);
        !            20:        dumbmap(symmap);
        !            21: }
        !            22: 
        !            23: setcor()
        !            24: {
        !            25: 
        !            26:        fcor = getfile(corfil, 2);
        !            27:        dumbmap(cormap);
        !            28: }
        !            29: 
        !            30: static
        !            31: dumbmap(mp)
        !            32: register MAP *mp;
        !            33: {
        !            34: 
        !            35:        mp->b = mp->f = 0;
        !            36:        mp->e = HUGE;
        !            37:        mp->sp = DATASP;
        !            38:        mp->flag = MPINUSE;
        !            39:        mp++;
        !            40:        mp->flag = 0;
        !            41: }
        !            42: 
        !            43: cmdmap(itype, star)
        !            44: register int star, itype;
        !            45: {
        !            46:        register MAP *mp;
        !            47:        extern char lastc;
        !            48: 
        !            49:        if (itype & SYMF)
        !            50:                mp = symmap;
        !            51:        else
        !            52:                mp = cormap;
        !            53:        if (star)       /* UGH */
        !            54:                mp++;
        !            55:        if (expr(0))
        !            56:                mp->b = expv; 
        !            57:        if (expr(0))
        !            58:                mp->e = expv; 
        !            59:        if (expr(0))
        !            60:                mp->f = expv; 
        !            61:        mp->flag |= MPINUSE;
        !            62:        if (rdc()=='?' && (itype&SYMF) == 0) {
        !            63:                if (fcor)
        !            64:                        close(fcor);
        !            65:                fcor=fsym;
        !            66:                corfil=symfil;
        !            67:        } else if (lastc == '/' && itype&SYMF) {
        !            68:                if (fsym)
        !            69:                        close(fsym);
        !            70:                fsym=fcor;
        !            71:                symfil=corfil;
        !            72:        } else
        !            73:                reread();
        !            74: }
        !            75: 
        !            76: create(f)
        !            77:        char *f;
        !            78: {
        !            79:        register int fd;
        !            80: 
        !            81:        fd = creat(f, 0666);
        !            82:        if (fd < 0)
        !            83:                return (-1);
        !            84:        close(fd);
        !            85:        return (open(f, wtflag));
        !            86: }
        !            87: 
        !            88: getfile(filnam, cnt)
        !            89:        char *filnam;
        !            90: {
        !            91:        register int fsym;
        !            92: 
        !            93:        if (strcmp(filnam, "-") == 0)
        !            94:                return (-1);
        !            95:        fsym = open(filnam, wtflag);
        !            96:        if (fsym < 0 && xargc > cnt) {
        !            97:                if (wtflag)
        !            98:                        fsym = create(filnam);
        !            99:                if (fsym < 0)
        !           100:                        printf("cannot open `%s'\n", filnam);
        !           101:        }
        !           102:        return (fsym);
        !           103: }
        !           104: 
        !           105: setvar()
        !           106: {
        !           107: }

unix.superglobalmegacorp.com

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