V10/cmd/adb/null/setup.c
/*
* init routines -- dummy version
*/
#include "defs.h"
#include "space.h"
#include "map.h"
char *symfil = "a.out";
char *corfil = "core";
MAP symmap[NMAP];
MAP cormap[NMAP];
int fsym, fcor;
setsym()
{
fsym = getfile(symfil, 1);
dumbmap(symmap);
}
setcor()
{
fcor = getfile(corfil, 2);
dumbmap(cormap);
}
static
dumbmap(mp)
register MAP *mp;
{
mp->b = mp->f = 0;
mp->e = HUGE;
mp->sp = DATASP;
mp->flag = MPINUSE;
mp++;
mp->flag = 0;
}
cmdmap(itype, star)
register int star, itype;
{
register MAP *mp;
extern char lastc;
if (itype & SYMF)
mp = symmap;
else
mp = cormap;
if (star) /* UGH */
mp++;
if (expr(0))
mp->b = expv;
if (expr(0))
mp->e = expv;
if (expr(0))
mp->f = expv;
mp->flag |= MPINUSE;
if (rdc()=='?' && (itype&SYMF) == 0) {
if (fcor)
close(fcor);
fcor=fsym;
corfil=symfil;
} else if (lastc == '/' && itype&SYMF) {
if (fsym)
close(fsym);
fsym=fcor;
symfil=corfil;
} else
reread();
}
create(f)
char *f;
{
register int fd;
fd = creat(f, 0666);
if (fd < 0)
return (-1);
close(fd);
return (open(f, wtflag));
}
getfile(filnam, cnt)
char *filnam;
{
register int fsym;
if (strcmp(filnam, "-") == 0)
return (-1);
fsym = open(filnam, wtflag);
if (fsym < 0 && xargc > cnt) {
if (wtflag)
fsym = create(filnam);
if (fsym < 0)
printf("cannot open `%s'\n", filnam);
}
return (fsym);
}
setvar()
{
}