Blob Blame History Raw
From ad230436c8726236a9106a77c07e9e9c1ff0687a Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Tue, 15 Jan 2013 20:32:57 +0100
Subject: [PATCH] vconsole: use /dev/vcsa1-15 to check for allocated VTs
 (cherry picked from commit 10ffbc99afed12bd59bcf91d8242ea65b04eec40)

---
 src/vconsole/vconsole-setup.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
index 679dc1a..6501705 100644
--- a/src/vconsole/vconsole-setup.c
+++ b/src/vconsole/vconsole-setup.c
@@ -183,11 +183,12 @@ static void font_copy_to_all_vcs(int fd) {
                 if (i == vcs.v_active)
                         continue;
 
-                /* skip unused VTs above tty6 to avoid allocating them */
-                if (i > 6 && ((vcs.v_state >> i) & 1) == 0)
+                /* skip non-allocated ttys */
+                snprintf(vcname, sizeof(vcname), "/dev/vcs%i", i);
+                if (access(vcname, F_OK) < 0)
                         continue;
 
-                snprintf(vcname , sizeof(vcname), "/dev/tty%i", i);
+                snprintf(vcname, sizeof(vcname), "/dev/tty%i", i);
                 vcfd = open_terminal(vcname, O_RDWR|O_CLOEXEC);
                 if (vcfd < 0)
                         continue;