Browse Source

Merge branch 'jk/test-crontab-fixes'

Test helper fix.

* jk/test-crontab-fixes:
  test-crontab: minor memory and error handling fixes
maint
Junio C Hamano 3 years ago
parent
commit
27fb520ef2
  1. 23
      t/helper/test-crontab.c

23
t/helper/test-crontab.c

@ -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…
Cancel
Save