Carrion return faggotry deleted.
[4chanprog.git] / coreutils / cat.c
blobd95c6f0cfbb1b6bf400c2e365800efce6b6ee8ae
1 #include <errno.h>
2 #include <stdio.h>
3 #include <string.h>
5 int main(int argc, char** argv)
7 int uflag = 0, retval = 0;
9 if(*argv && *++argv)
11 if(! strcmp(*argv, "-u"))
13 uflag = 1;
14 setvbuf(stdout, NULL, _IONBF, 0);
15 argv++;
21 FILE* input;
22 if(! *argv || ! strcmp(*argv, "-"))
24 input = stdin;
26 else
28 input = fopen(*argv, "rb");
29 if(! input)
31 int temp = errno;
32 fprintf(stderr, "cat: can't open %s: ", *argv);
33 errno = temp;
34 perror(NULL);
35 retval = 1;
36 continue;
40 if(uflag)
41 setvbuf(input, NULL, _IONBF, 0);
43 int c;
44 while((c = fgetc(input)) != EOF)
46 if(putchar(c) == EOF)
48 perror("cat: output failure");
49 return 1;
52 } while (*argv && *++argv);
54 return retval;