diff options
Diffstat (limited to 't/helper/test-crontab.c')
-rw-r--r-- | t/helper/test-crontab.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/t/helper/test-crontab.c b/t/helper/test-crontab.c index e7c0137..597027a 100644 --- a/t/helper/test-crontab.c +++ b/t/helper/test-crontab.c @@ -1,34 +1,34 @@ #include "test-tool.h" -#include "cache.h" /* - * Usage: test-tool cron <file> [-l] + * Usage: test-tool crontab <file> -l|<input> * * If -l is specified, then write the contents of <file> to stdout. - * Otherwise, write from stdin into <file>. + * Otherwise, copy the contents of <input> into <file>. */ int cmd__crontab(int argc, const char **argv) { int a; FILE *from, *to; - if (argc == 3 && !strcmp(argv[2], "-l")) { + if (argc != 3) + usage("test-tool crontab <file> -l|<input>"); + + if (!strcmp(argv[2], "-l")) { from = fopen(argv[1], "r"); if (!from) return 0; to = stdout; - } else if (argc == 2) { - from = stdin; - to = fopen(argv[1], "w"); - } else - return error("unknown arguments"); + } else { + from = xfopen(argv[2], "r"); + to = xfopen(argv[1], "w"); + } while ((a = fgetc(from)) != EOF) fputc(a, to); - if (argc == 3) - fclose(from); - else + fclose(from); + if (to != stdout) fclose(to); return 0; |