Hi, I was playing with ps today and noticed that the alignment of everything following the "command" keyword seems to be broken currently. An easy way to test this is running ps -axo command,uid which gives me a wrongly aligned uid for some processes:
/usr/X11R6/bin/X 35 X: [priv] (Xorg) 0 xenodm: :0 (xeno) 0 It look like this was broken in 1.83 which introduces print_comm_name() but wrongly assumes the returned value is the length difference when it actually is the updated length value. With this fixed I get a correctly aligned output: /usr/X11R6/bin/X 35 X: [priv] (Xorg) 0 xenodm: :0 (xeno 0 ok? diff --git bin/ps/print.c bin/ps/print.c index 21709700847..65fa9ee9eb0 100644 --- bin/ps/print.c +++ bin/ps/print.c @@ -182,7 +182,7 @@ command(const struct pinfo *pi, VARENT *ve) } putchar('('); left--; - left -= print_comm_name(kp, left, 0); + left = print_comm_name(kp, left, 0); if (left == 0) return; putchar(')'); @@ -193,7 +193,7 @@ command(const struct pinfo *pi, VARENT *ve) putchar(' '); left--; } - left -= print_comm_name(kp, left, 0); + left = print_comm_name(kp, left, 0); } } if (ve->next != NULL)