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;