diff -ru current-20051202/sbin/sysctl/sysctl.c current/sbin/sysctl/sysctl.c --- current-20051202/sbin/sysctl/sysctl.c Fri Dec 2 21:52:57 2005 +++ current/sbin/sysctl/sysctl.c Tue Dec 6 14:52:18 2005 @@ -580,7 +580,7 @@ if(*fmt == 'U') printf(hflag ? "%'u" : "%u", *(unsigned int *)p); else if (*fmt == 'K') { - if (*(int *)p < 0) + if ((*(int *)p < 0) || !hflag) printf("%d", *(int *)p); else printf("%d.%dC", (*(int *)p - 2732) / 10, (*(int *)p - 2732) % 10); @@ -602,7 +602,7 @@ if(*fmt == 'U') printf(hflag ? "%'lu" : "%lu", *(unsigned long *)p); else if (*fmt == 'K') { - if (*(long *)p < 0) + if ((*(long *)p < 0) || !hflag) printf("%ld", *(long *)p); else printf("%ld.%ldC", (*(long *)p - 2732) / 10, (*(long *)p - 2732) % 10);