Hi,
Sort the ps(1) STAT characters alphabetically like in the man page.
Note that the 'else' I have removed is redundant.
ok?
bluhm
Index: bin/ps/print.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/bin/ps/print.c,v
retrieving revision 1.80
diff -u -p -r1.80 print.c
--- bin/ps/print.c 7 Feb 2022 22:57:47 -0000 1.80
+++ bin/ps/print.c 8 Feb 2022 19:21:07 -0000
@@ -262,35 +262,35 @@ printstate(const struct kinfo_proc *kp,
}
cp++;
+ if ((kp->p_psflags & PS_CONTROLT) && kp->p__pgid == kp->p_tpgid)
+ *cp++ = '+';
if (kp->p_nice < NZERO)
*cp++ = '<';
- else if (kp->p_nice > NZERO)
- *cp++ = 'N';
- if (kp->p_psflags & PS_TRACED)
- *cp++ = 'X';
+ if ((flag & P_SYSTEM) == 0 &&
+ kp->p_rlim_rss_cur / 1024 < pgtok(kp->p_vm_rssize))
+ *cp++ = '>';
+ if (kp->p_eflag & EPROC_CHROOT)
+ *cp++ = 'c';
if ((kp->p_psflags & (PS_EXITING | PS_ZOMBIE)) == PS_EXITING)
*cp++ = 'E';
- if (kp->p_psflags & PS_ISPWAIT)
- *cp++ = 'V';
if (flag & P_SYSTEM)
*cp++ = 'K';
- if ((flag & P_SYSTEM) == 0 &&
- kp->p_rlim_rss_cur / 1024 < pgtok(kp->p_vm_rssize))
- *cp++ = '>';
- if (kp->p_eflag & EPROC_SLEADER)
- *cp++ = 's';
- if ((kp->p_psflags & PS_CONTROLT) && kp->p__pgid == kp->p_tpgid)
- *cp++ = '+';
+ if (kp->p_nice > NZERO)
+ *cp++ = 'N';
if (kp->p_psflags & PS_PLEDGE)
*cp++ = 'p';
+ if (kp->p_eflag & EPROC_SLEADER)
+ *cp++ = 's';
if (kp->p_eflag & EPROC_UNVEIL) {
if (kp->p_eflag & EPROC_LKUNVEIL)
*cp++ = 'U';
else
*cp++ = 'u';
}
- if (kp->p_eflag & EPROC_CHROOT)
- *cp++ = 'c';
+ if (kp->p_psflags & PS_ISPWAIT)
+ *cp++ = 'V';
+ if (kp->p_psflags & PS_TRACED)
+ *cp++ = 'X';
*cp = '\0';
if (state == 'R' && kp->p_cpuid != KI_NOCPU) {