blob: ac5888979725984641e4d2e247d40ec8f626d313 [file] [log] [blame]
rscbc7cb1a2003-11-23 18:04:47 +00001#include <u.h>
2#include <libc.h>
3
4void
5cat(int f, char *s)
6{
7 char buf[8192];
8 long n;
9
10 while((n=read(f, buf, (long)sizeof buf))>0)
11 if(write(1, buf, n)!=n)
12 sysfatal("write error copying %s: %r", s);
13 if(n < 0)
14 sysfatal("error reading %s: %r", s);
15}
16
17void
18main(int argc, char *argv[])
19{
20 int f, i;
21
22 argv0 = "cat";
23 if(argc == 1)
24 cat(0, "<stdin>");
25 else for(i=1; i<argc; i++){
26 f = open(argv[i], OREAD);
27 if(f < 0)
28 sysfatal("can't open %s: %r", argv[i]);
29 else{
30 cat(f, argv[i]);
31 close(f);
32 }
33 }
34 exits(0);
35}
36