2 * Splice argument file to stdout
13 static int usage(char *name)
15 fprintf(stderr, "%s: infile | ...\n", name);
19 int main(int argc, char *argv[])
25 return usage(argv[0]);
27 if (fstat(STDOUT_FILENO, &sb) < 0)
29 if (!S_ISFIFO(sb.st_mode)) {
30 fprintf(stderr, "stdout must be a pipe\n");
31 return usage(argv[0]);
34 fd = open(argv[1], O_RDONLY);
36 return error("open input");
38 if (fstat(fd, &sb) < 0)
39 return error("stat input");
42 int ret = splice(fd, NULL, STDOUT_FILENO, NULL, sb.st_size, 0);
45 return error("splice");