Author: emaste
Date: Wed Jul  2 20:40:59 2014
New Revision: 268175
URL: http://svnweb.freebsd.org/changeset/base/268175

Log:
  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

Modified:
  head/usr.sbin/kbdcontrol/kbdcontrol.c
  head/usr.sbin/vidcontrol/vidcontrol.c

Modified: head/usr.sbin/kbdcontrol/kbdcontrol.c
==============================================================================
--- head/usr.sbin/kbdcontrol/kbdcontrol.c       Wed Jul  2 19:53:51 2014        
(r268174)
+++ head/usr.sbin/kbdcontrol/kbdcontrol.c       Wed Jul  2 20:40:59 2014        
(r268175)
@@ -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 *

Modified: head/usr.sbin/vidcontrol/vidcontrol.c
==============================================================================
--- head/usr.sbin/vidcontrol/vidcontrol.c       Wed Jul  2 19:53:51 2014        
(r268174)
+++ head/usr.sbin/vidcontrol/vidcontrol.c       Wed Jul  2 20:40:59 2014        
(r268175)
@@ -216,11 +216,12 @@ usage(void)
 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);
 }
 
 /*
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to