|
|
--- ./openvt/openvt.c.orig 2003-08-16 16:44:04.000000000 +0300
+++ ./openvt/openvt.c 2003-08-16 16:42:01.000000000 +0300
@@ -100,18 +100,18 @@
} consfd = getfd(); - if (consfd < 0) {
- fprintf(stderr,
- _("Couldnt get a file descriptor referring to the console\n"));
- return(2);
- }
- if (ioctl(consfd, VT_GETSTATE, &vtstat) < 0) {
+ if (consfd >= 0 && ioctl(consfd, VT_GETSTATE, &vtstat) < 0) {
perror("openvt: VT_GETSTATE"); return(4); } if (vtno == -1) { + if (consfd < 0) {
+ fprintf(stderr,
+ _("Couldnt get a file descriptor referring to the console\n"));
+ return(2);
+ }
if ((ioctl(consfd, VT_OPENQRY, &vtno) < 0) || (vtno == -1)) { perror("openvt: VT_OPENQRY"); fprintf(stderr, _("openvt: cannot find a free vt\n")); @@ -267,7 +267,7 @@
if ( do_wait ) { wait(NULL); - if (show) { /* Switch back... */
+ if (show && consfd >= 0) { /* Switch back... */
if (ioctl(consfd, VT_ACTIVATE, vtstat.v_active)) { perror("VT_ACTIVATE"); return 8;
|