Yes, it's the lists. Nothing will cope with \0 in a C string, so it's a good choice as list of string element separator. On 18 January 2017 at 19:21, Fran. J Ballesteros wrote: > rc lists? > > > El 18 ene 2017, a las 17:45, Giacomo Tesio escribió: > > > > Hi, last night I noticed this strange post processing in 4th edition's > > getenv: https://github.com/brho/plan9/blob/master/sys/src/libc/9sys/ > getenv.c#L34-L41 > > > > seek(f, 0, 0); > > r = read(f, ans, s); > > if(r >= 0) { > > ep = ans + s - 1; > > for(p = ans; p < ep; p++) > > if(*p == '\0') > > *p = ' '; > > ans[s] = '\0'; > > } > > > > Anybody know why this replacement is done? > > It does not seem a good fix to read/write or read/truncate races, but > > I can't find a better explanation. > > > > > > Giacomo > > > > >