#include "test-tool.h" #include "git-compat-util.h" int cmd__csprng(int argc, const char **argv) { unsigned long count; unsigned char buf[1024]; if (argc > 2) { fprintf(stderr, "usage: %s []\n", argv[0]); return 2; } count = (argc == 2) ? strtoul(argv[1], NULL, 0) : -1L; while (count) { unsigned long chunk = count < sizeof(buf) ? count : sizeof(buf); if (csprng_bytes(buf, chunk) < 0) { perror("failed to read"); return 5; } if (fwrite(buf, chunk, 1, stdout) != chunk) return 1; count -= chunk; } return 0; }