mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

36 lines
1.1 KiB

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