diff --git a/bin/ps/keyword.c b/bin/ps/keyword.c index 0562fd2e4f9d..d7790f9f8c48 100644 --- a/bin/ps/keyword.c +++ b/bin/ps/keyword.c @@ -133,7 +133,7 @@ static VAR keywords[] = { {"mwchan", {NULL}, "MWCHAN", "wait-channel", LJUST, mwchan, 0, UNSPEC, NULL}, {"ni", {"nice"}, NULL, NULL, 0, NULL, 0, UNSPEC, NULL}, - {"nice", {NULL}, "NI", "nice", 0, kvar, KOFF(ki_nice), CHAR, "d"}, + {"nice", {NULL}, "NI", "nice", 0, kvar, KOFF(ki_nice), SCHAR, "d"}, {"nivcsw", {NULL}, "NIVCSW", "involuntary-context-switches", USER, rvar, ROFF(ru_nivcsw), LONG, "ld"}, {"nlwp", {NULL}, "NLWP", "threads", 0, kvar, KOFF(ki_numthreads), diff --git a/bin/ps/print.c b/bin/ps/print.c index f59e843effc1..9705d0c07419 100644 --- a/bin/ps/print.c +++ b/bin/ps/print.c @@ -754,6 +754,9 @@ printval(void *bp, const VAR *v) case CHAR: (void)asprintf(&str, ofmt, *(char *)bp); break; + case SCHAR: + (void)asprintf(&str, ofmt, *(signed char *)bp); + break; case UCHAR: (void)asprintf(&str, ofmt, *(u_char *)bp); break; diff --git a/bin/ps/ps.h b/bin/ps/ps.h index 065a4c1f1c54..8352f3450f93 100644 --- a/bin/ps/ps.h +++ b/bin/ps/ps.h @@ -33,7 +33,7 @@ #define UNLIMITED 0 /* unlimited terminal width */ enum type { UNSPEC, /* For output routines that don't care and aliases. */ - CHAR, UCHAR, SHORT, USHORT, INT, UINT, LONG, ULONG, KPTR, PGTOK }; + CHAR, SCHAR, UCHAR, SHORT, USHORT, INT, UINT, LONG, ULONG, KPTR, PGTOK }; typedef struct kinfo_str { STAILQ_ENTRY(kinfo_str) ks_next;