--- ./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;
|