#include #include void usage(void) { fprint(2, "usage: %s n\n", argv0); exits("usage"); } void main(int argc, char **argv) { int n, m; char buf[8192]; ARGBEGIN { default: usage(); } ARGEND if(argc != 1) usage(); n = atoi(argv[0]); m = 0; while(n > 0 && (m = read(0, buf, n < sizeof buf ? n : sizeof buf)) > 0) { if(write(1, buf, m) < m) sysfatal("write: %r"); n -= m; } if(m < 0) sysfatal("read: %r"); if(m < n) sysfatal("short"); exits(nil); }