diff options
author | emaste <emaste@FreeBSD.org> | 2014-07-02 20:40:59 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2014-07-02 20:40:59 +0000 |
commit | 25f958427184cf6389b5612ba2d9756d2e3bfe00 (patch) | |
tree | 765a2ab9cd6571dff515687d715dd8af995cd136 /usr.sbin/kbdcontrol/kbdcontrol.c | |
parent | 06ba4514995599e2268f4583f114ad7c94a63e9c (diff) | |
download | FreeBSD-src-25f958427184cf6389b5612ba2d9756d2e3bfe00.zip FreeBSD-src-25f958427184cf6389b5612ba2d9756d2e3bfe00.tar.gz |
Fix vt(4) detection in kbdcontrol and vidcontrol
As sc(4) and vt(4) coexist and are both enabled in GENERIC, the existence
of a vt(4) sysctl is not sufficient to determine that vt(4) is in use.
Reported by: Trond Endrestøl
Diffstat (limited to 'usr.sbin/kbdcontrol/kbdcontrol.c')
-rw-r--r-- | usr.sbin/kbdcontrol/kbdcontrol.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.sbin/kbdcontrol/kbdcontrol.c b/usr.sbin/kbdcontrol/kbdcontrol.c index d38eda0..0f927ef 100644 --- a/usr.sbin/kbdcontrol/kbdcontrol.c +++ b/usr.sbin/kbdcontrol/kbdcontrol.c @@ -146,11 +146,12 @@ static void usage(void) __dead2; static int is_vt4(void) { + char vty_name[4] = ""; + size_t len = sizeof(vty_name); - if (sysctlbyname("kern.vt.deadtimer", NULL, NULL, NULL, 0) == 0) - return (1); - - return (0); + if (sysctlbyname("kern.vty", vty_name, &len, NULL, 0) != 0) + return (0); + return (strcmp(vty_name, "vt") == 0); } static char * |