From a6794a47d1fa3d5d3258d361190fabcb77196988 Mon Sep 17 00:00:00 2001 From: ru Date: Tue, 15 Aug 2006 13:32:39 +0000 Subject: Fix printing of integer Kelvins broken in rev. 1.71, which is fatal on sizeof(int) != sizeof(long) systems (such as amd64). MFC after: 1 day --- sbin/sysctl/sysctl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sbin/sysctl') diff --git a/sbin/sysctl/sysctl.c b/sbin/sysctl/sysctl.c index d171ec9..1c5fc9d 100644 --- a/sbin/sysctl/sysctl.c +++ b/sbin/sysctl/sysctl.c @@ -584,11 +584,11 @@ show_var(int *oid, int nlen) printf(hflag ? "%'#010x" : "%#010x", *(unsigned int *)p); else if (*fmt == 'K') { - if (*(long *)p < 0) - printf("%ld", *(long *)p); + if (*(int *)p < 0) + printf("%d", *(int *)p); else printf("%.1fC", - (*(long *)p - 2732.0) / 10); + (*(int *)p - 2732.0) / 10); } else printf(hflag ? "%'d" : "%d", *(int *)p); val = " "; -- cgit v1.1