diff options
Diffstat (limited to 'tools/xpcat/xpcat.c')
| -rw-r--r-- | tools/xpcat/xpcat.c | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/tools/xpcat/xpcat.c b/tools/xpcat/xpcat.c deleted file mode 100644 index e39babcb5..000000000 --- a/tools/xpcat/xpcat.c +++ /dev/null @@ -1,72 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -static void -usage(const char *program) -{ - printf("Usage: %s -o outputfile FILE...\n", program); -} - -int -main(int argc, char *argv[]) -{ - int i, ch; - const char *output = NULL; - FILE *infile = NULL; - FILE *outfile = NULL; - - if (argc < 4) { - usage(argv[0]); - return EXIT_FAILURE; - } - - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-o") == 0) { - i++; - if (i < argc) - output = argv[i]; - else { - usage(argv[0]); - return EXIT_FAILURE; - } - } - } - - if (output) { - outfile = fopen(output, "wb"); - if (!outfile) { - fprintf(stderr, "[ERROR] unable to open output file: %s\n", output); - return EXIT_FAILURE; - } - setbuf(outfile, NULL); - - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-o") == 0) { - i++; - continue; - } - - infile = fopen(argv[i], "rb"); - if (!infile) { - fprintf(stderr, "[ERROR] unable to open input file: %s\n", argv[i]); - return EXIT_FAILURE; - } - setbuf(infile, NULL); - - while ((ch = getc(infile)) != EOF) { - if (putc(ch, outfile) == EOF) { - fprintf(stderr, "[ERROR] error writing output file: %s\n", output); - return EXIT_FAILURE; - } - } - - fclose(infile); - } - } - - fclose(outfile); - return EXIT_SUCCESS; -} - -/* vim: set ts=2 sts=2 sw=2 et: */ |
