ref: 94d2ee527af44610a498d6f6adbba8f0b6d76f17
dir: /sys/src/cmd/aux/zerotrunc.c/
/* * cat standard input until you get a zero byte */ #include <u.h> #include <libc.h> void main(void) { char buf[4096]; char *p; int n; while((n = read(0, buf, sizeof(buf))) > 0){ p = memchr(buf, 0, n); if(p != nil) n = p-buf; if(n > 0) write(1, buf, n); if(p != nil) break; } exits(0); }