summaryrefslogtreecommitdiffstats
path: root/sbin/sysctl/sysctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/sysctl/sysctl.c')
-rw-r--r--sbin/sysctl/sysctl.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sbin/sysctl/sysctl.c b/sbin/sysctl/sysctl.c
index 1c49856..8ae3cbd 100644
--- a/sbin/sysctl/sysctl.c
+++ b/sbin/sysctl/sysctl.c
@@ -398,9 +398,13 @@ show_var(int *oid, int nlen)
case 'I':
if (!nflag)
printf("%s: ", name);
+ fmt++;
val = "";
while (len >= sizeof(int)) {
- printf("%s%d", val, *(int *)p);
+ if(*fmt == 'U')
+ printf("%s%u", val, *(unsigned int *)p);
+ else
+ printf("%s%d", val, *(int *)p);
val = " ";
len -= sizeof (int);
p += sizeof (int);
@@ -410,7 +414,11 @@ show_var(int *oid, int nlen)
case 'L':
if (!nflag)
printf("%s: ", name);
- printf("%ld", *(long *)p);
+ fmt++;
+ if(*fmt == 'U')
+ printf("%lu", *(unsigned long *)p);
+ else
+ printf("%ld", *(long *)p);
return (0);
case 'P':
OpenPOWER on IntegriCloud