--- ray/src/rt/rview.c 1989/07/10 15:21:25 1.5 +++ ray/src/rt/rview.c 1989/07/29 00:11:31 1.6 @@ -68,21 +68,22 @@ int code; devopen(dname) /* open device driver */ char *dname; { - extern char *progname; + extern char *progname, *octname; char *devargv[3]; register int i; + + devargv[0] = dname; + devargv[1] = octname!=NULL ? octname : progname; + devargv[2] = NULL; /* check device table */ for (i = 0; devtable[i].name; i++) if (!strcmp(dname, devtable[i].name)) - if ((dev = (*devtable[i].init)(progname)) == NULL) { + if ((dev = (*devtable[i].init)(devargv[1])) == NULL) { sprintf(errmsg, "cannot initialize %s", dname); error(USER, errmsg); } else return; /* not there, try exec */ - devargv[0] = dname; - devargv[1] = progname; - devargv[2] = NULL; if ((dev = comm_init(devargv)) == NULL) { sprintf(errmsg, "cannot start device \"%s\"", dname); error(USER, errmsg);