--- ray/src/rt/rview.c 1989/07/29 00:11:31 1.6 +++ ray/src/rt/rview.c 1989/10/27 11:48:25 1.8 @@ -69,22 +69,20 @@ devopen(dname) /* open device driver */ char *dname; { extern char *progname, *octname; - char *devargv[3]; + char *id; register int i; - devargv[0] = dname; - devargv[1] = octname!=NULL ? octname : progname; - devargv[2] = NULL; + id = octname!=NULL ? octname : progname; /* check device table */ for (i = 0; devtable[i].name; i++) if (!strcmp(dname, devtable[i].name)) - if ((dev = (*devtable[i].init)(devargv[1])) == NULL) { + if ((dev = (*devtable[i].init)(dname, id)) == NULL) { sprintf(errmsg, "cannot initialize %s", dname); error(USER, errmsg); } else return; /* not there, try exec */ - if ((dev = comm_init(devargv)) == NULL) { + if ((dev = comm_init(dname, id)) == NULL) { sprintf(errmsg, "cannot start device \"%s\"", dname); error(USER, errmsg); } @@ -200,9 +198,13 @@ again: goto commerr; getmove(args); break; - case 'r': /* rotate camera */ - if (badcom("rotate")) - goto commerr; + case 'r': /* rotate/repaint */ + if (badcom("rotate")) { + if (badcom("repaint")) + goto commerr; + getrepaint(args); + break; + } getrotate(args); break; case 'p': /* pivot view */