status in proc(3) doesn't display seperating spaces if the command, username and process status are longer than 27 characters. I failed to submit a correct file in patch "longusername". Ignore "longusername". Sorry for confusion. Notes: Tue Jun 21 08:18:33 EDT 2005 rsc Thanks for pointing this out. This is tricky to fix correctly in the presence of UTF-8. I believe only the user name can validly be longer than 27 characters, but we're going to just make the fields variable sized anyway. We'll test the changes in the AMD64 kernel and eventually get them out onto sources. Reference: /n/sources/patch/sorry/longusername2 Date: Mon Jun 6 10:17:26 CES 2005 Reviewed-by: rsc --- /sys/src/9/port/devproc.c Mon Jun 6 10:14:49 2005 +++ /sys/src/9/port/devproc.c Mon Jun 6 10:14:42 2005 @@ -678,7 +678,7 @@ Mntwalk *mw; Segment *sg, *s; char *a = va, *sps; - int i, j, rsize, pid; + int i, j, rsize, pid, nlen; char statbuf[NSEG*32], *srv, flag[10]; ulong offset = off; @@ -836,9 +836,12 @@ if(sps == 0) sps = statename[p->state]; memset(statbuf, ' ', sizeof statbuf); - memmove(statbuf+0*KNAMELEN, p->text, strlen(p->text)); - memmove(statbuf+1*KNAMELEN, p->user, strlen(p->user)); - memmove(statbuf+2*KNAMELEN, sps, strlen(sps)); + if((nlen=strlen(p->text)) > 27) nlen = 27; + memmove(statbuf+0*KNAMELEN, p->text, nlen); + if((nlen=strlen(p->user)) > 27) nlen = 27; + memmove(statbuf+1*KNAMELEN, p->user, nlen); + if((nlen=strlen(sps)) > 27) nlen = 27; + memmove(statbuf+2*KNAMELEN, sps, nlen); j = 2*KNAMELEN + 12; for(i = 0; i < 6; i++) {