1eeca34feSDavid du Colombier /* 2eeca34feSDavid du Colombier * cat standard input until you get a zero byte 3eeca34feSDavid du Colombier */ 4eeca34feSDavid du Colombier 5eeca34feSDavid du Colombier #include <u.h> 6eeca34feSDavid du Colombier #include <libc.h> 7eeca34feSDavid du Colombier 8eeca34feSDavid du Colombier void main(void)9eeca34feSDavid du Colombiermain(void) 10eeca34feSDavid du Colombier { 11*39734e7eSDavid du Colombier char buf[4096]; 12*39734e7eSDavid du Colombier char *p; 13*39734e7eSDavid du Colombier int n; 14eeca34feSDavid du Colombier 15*39734e7eSDavid du Colombier while((n = read(0, buf, sizeof(buf))) > 0){ 16*39734e7eSDavid du Colombier p = memchr(buf, 0, n); 17*39734e7eSDavid du Colombier if(p != nil) 18*39734e7eSDavid du Colombier n = p-buf; 19*39734e7eSDavid du Colombier if(n > 0) 20*39734e7eSDavid du Colombier write(1, buf, n); 21*39734e7eSDavid du Colombier if(p != nil) 22*39734e7eSDavid du Colombier break; 23eeca34feSDavid du Colombier } 24eeca34feSDavid du Colombier exits(0); 25eeca34feSDavid du Colombier } 26eeca34feSDavid du Colombier 27