Merge branch 'jk/test-crontab-fixes'
Test helper fix. * jk/test-crontab-fixes: test-crontab: minor memory and error handling fixesmaint
commit
27fb520ef2
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue