#include "test-tool.h" | |
#include "git-compat-util.h" | |
int cmd__genzeros(int argc, const char **argv) | |
{ | |
/* static, so that it is NUL-initialized */ | |
static const char zeros[256 * 1024]; | |
intmax_t count; | |
ssize_t n; | |
if (argc > 2) { | |
fprintf(stderr, "usage: %s [<count>]\n", argv[0]); | |
return 1; | |
} | |
count = argc > 1 ? strtoimax(argv[1], NULL, 0) : -1; | |
/* Writing out individual NUL bytes is slow... */ | |
while (count < 0) | |
if (write(1, zeros, ARRAY_SIZE(zeros)) < 0) | |
return -1; | |
while (count > 0) { | |
n = write(1, zeros, count < ARRAY_SIZE(zeros) ? | |
count : ARRAY_SIZE(zeros)); | |
if (n < 0) | |
return -1; | |
count -= n; | |
} | |
return 0; | |
} |