1 /*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 *
7 * @(#)cat.c 8.1 (Berkeley) 06/11/93
8 */
9
10 int eval;
11
main(argc,argv)12 main(argc, argv)
13 int argc;
14 char **argv;
15 {
16 register int fd, nr;
17 char buf[2048];
18
19 if (*++argv && **argv == '-') {
20 err("no options available", 0);
21 _exit(1);
22 }
23 for (eval = 0; *argv; ++argv)
24 if ((fd = open(*argv, 0, 0)) < 0)
25 err(*argv, 1);
26 else {
27 while ((nr = read(fd, buf, sizeof(buf))) > 0)
28 if (write(1, buf, nr) != nr) {
29 err(*argv, 1);
30 break;
31 }
32 if (nr == -1)
33 err(*argv, 1);
34 }
35 _exit(eval);
36 }
37
38 #define PROGNAME "cat: "
39 #include "errfunction"
40