diff options
Diffstat (limited to '')
-rw-r--r-- | t/helper/test-crontab.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/t/helper/test-crontab.c b/t/helper/test-crontab.c new file mode 100644 index 0000000..597027a --- /dev/null +++ b/t/helper/test-crontab.c @@ -0,0 +1,35 @@ +#include "test-tool.h" + +/* + * Usage: test-tool crontab <file> -l|<input> + * + * If -l is specified, then write the contents of <file> to stdout. + * Otherwise, copy the contents of <input> into <file>. + */ +int cmd__crontab(int argc, const char **argv) +{ + int a; + FILE *from, *to; + + 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 { + from = xfopen(argv[2], "r"); + to = xfopen(argv[1], "w"); + } + + while ((a = fgetc(from)) != EOF) + fputc(a, to); + + fclose(from); + if (to != stdout) + fclose(to); + + return 0; +} |