1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-06-02 01:16:12 +02:00

Merge branch 'jk/test-crontab-fixes'

Test helper fix.

* jk/test-crontab-fixes:
  test-crontab: minor memory and error handling fixes
This commit is contained in:
Junio C Hamano 2022-09-05 18:33:41 -07:00
commit 27fb520ef2

View File

@ -2,33 +2,34 @@
#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 == 3) {
from = fopen(argv[2], "r");
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;