#include <u.h> | |
#include <libc.h> | |
void | |
cat(int f, char *s) | |
{ | |
char buf[8192]; | |
long n; | |
while((n=read(f, buf, (long)sizeof buf))>0) | |
if(write(1, buf, n)!=n) | |
sysfatal("write error copying %s: %r", s); | |
if(n < 0) | |
sysfatal("error reading %s: %r", s); | |
} | |
void | |
main(int argc, char *argv[]) | |
{ | |
int f, i; | |
argv0 = "cat"; | |
if(argc == 1) | |
cat(0, "<stdin>"); | |
else for(i=1; i<argc; i++){ | |
f = open(argv[i], OREAD); | |
if(f < 0) | |
sysfatal("can't open %s: %r", argv[i]); | |
else{ | |
cat(f, argv[i]); | |
close(f); | |
} | |
} | |
exits(0); | |
} | |