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 8 #ifndef lint 9 static char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 06/09/93"; 10 #endif /* not lint */ 11 12 #include <fcntl.h> 13 #include <errno.h> 14 #include <unistd.h> 15 #include <stdio.h> 16 #include <stdlib.h> 17 #include <string.h> 18 #include "extern.h" 19 20 void 21 cat(file) 22 char *file; 23 { 24 register int fd, nr, nw; 25 char buf[1024]; 26 27 if ((fd = open(file, O_RDONLY, 0)) < 0) 28 err("%s: %s", file, strerror(errno)); 29 30 while ((nr = read(fd, buf, sizeof(buf))) > 0) 31 if ((nw = write(STDERR_FILENO, buf, nr)) == -1) 32 err("write to stderr: %s", strerror(errno)); 33 if (nr != 0) 34 err("%s: %s", file, strerror(errno)); 35 (void)close(fd); 36 } 37 38 void 39 outc(c) 40 int c; 41 { 42 (void)putc(c, stderr); 43 } 44 45 #if __STDC__ 46 #include <stdarg.h> 47 #else 48 #include <varargs.h> 49 #endif 50 51 void 52 #if __STDC__ 53 err(const char *fmt, ...) 54 #else 55 err(fmt, va_alist) 56 char *fmt; 57 va_dcl 58 #endif 59 { 60 va_list ap; 61 #if __STDC__ 62 va_start(ap, fmt); 63 #else 64 va_start(ap); 65 #endif 66 (void)fprintf(stderr, "tset: "); 67 (void)vfprintf(stderr, fmt, ap); 68 va_end(ap); 69 (void)fprintf(stderr, "\n"); 70 exit(1); 71 /* NOTREACHED */ 72 } 73