|
|
@ -2,33 +2,34 @@ |
|
|
|
#include "cache.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. |
|
|
|
* 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 cmd__crontab(int argc, const char **argv) |
|
|
|
{ |
|
|
|
{ |
|
|
|
int a; |
|
|
|
int a; |
|
|
|
FILE *from, *to; |
|
|
|
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"); |
|
|
|
from = fopen(argv[1], "r"); |
|
|
|
if (!from) |
|
|
|
if (!from) |
|
|
|
return 0; |
|
|
|
return 0; |
|
|
|
to = stdout; |
|
|
|
to = stdout; |
|
|
|
} else if (argc == 3) { |
|
|
|
} else { |
|
|
|
from = fopen(argv[2], "r"); |
|
|
|
from = xfopen(argv[2], "r"); |
|
|
|
to = fopen(argv[1], "w"); |
|
|
|
to = xfopen(argv[1], "w"); |
|
|
|
} else |
|
|
|
} |
|
|
|
return error("unknown arguments"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while ((a = fgetc(from)) != EOF) |
|
|
|
while ((a = fgetc(from)) != EOF) |
|
|
|
fputc(a, to); |
|
|
|
fputc(a, to); |
|
|
|
|
|
|
|
|
|
|
|
if (argc == 3) |
|
|
|
fclose(from); |
|
|
|
fclose(from); |
|
|
|
if (to != stdout) |
|
|
|
else |
|
|
|
|
|
|
|
fclose(to); |
|
|
|
fclose(to); |
|
|
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
return 0; |
|
|
|