Annotation of researchv10no/cmd/adb/null/setup.c, revision 1.1.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.