M boot/aux.c => boot/aux.c +16 -0
@@ 143,3 143,19 @@ outin(char *prompt, char *def, int len)
}
return n;
}
+
+void
+getconffile(char *conffile, char *terminal)
+{
+ char *p, *q;
+
+ *conffile = 0;
+ p = terminal;
+ if((p = strchr(p, ' ')) == 0 || p[1] == ' ' || p[1] == 0)
+ return;
+ p++;
+ for(q = p; *q && *q != ' '; q++)
+ ;
+ while(p < q)
+ *conffile++ = *p++;
+}
M boot/boot.c => boot/boot.c +5 -4
@@ 14,6 14,7 @@ char sys[2*NAMELEN];
char username[NAMELEN];
char *sauth;
char bootfile[3*NAMELEN];
+char conffile[NAMELEN];
int mflag;
int fflag;
@@ 21,9 22,8 @@ int kflag;
int aflag;
int pflag;
-int cache(int);
-void swapproc(void);
-Method *rootserver(char*);
+static void swapproc(void);
+static Method *rootserver(char*);
void
boot(int argc, char *argv[])
@@ 64,6 64,7 @@ boot(int argc, char *argv[])
readenv("cputype", cputype, sizeof(cputype));
readenv("terminal", terminal, sizeof(cputype));
+ getconffile(conffile, terminal);
/*
* pick a method and initialize it
@@ 171,7 172,7 @@ rootserver(char *arg)
return 0; /* not reached */
}
-void
+static void
swapproc(void)
{
int fd;
M boot/boot.h => boot/boot.h +2 -0
@@ 21,6 21,7 @@ extern char sys[2*NAMELEN];
extern char terminal[NAMELEN];
extern char username[NAMELEN];
extern char bootfile[3*NAMELEN];
+extern char conffile[NAMELEN];
extern char *sauth;
/* libc equivalent */
@@ 28,6 29,7 @@ extern int cache(int);
extern int dkauth(void);
extern int dkconnect(void);
extern void fatal(char*);
+extern void getconffile(char*, char*);
extern void getpasswd(char*, int);
extern void key(int, Method*);
extern void newkernel(void);