diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 21:12:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 21:12:04 +0000 |
commit | eac54b7c4aec25060d7bd856f7cdc290943d6aae (patch) | |
tree | 9a6d81c9f88df4698e746d63d14ddafeddd918b8 /debug/repeat.c | |
parent | Initial commit. (diff) | |
download | xz-utils-eac54b7c4aec25060d7bd856f7cdc290943d6aae.tar.xz xz-utils-eac54b7c4aec25060d7bd856f7cdc290943d6aae.zip |
Adding upstream version 5.4.1.upstream/5.4.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debug/repeat.c')
-rw-r--r-- | debug/repeat.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/debug/repeat.c b/debug/repeat.c new file mode 100644 index 0000000..a00bde2 --- /dev/null +++ b/debug/repeat.c @@ -0,0 +1,36 @@ +/////////////////////////////////////////////////////////////////////////////// +// +/// \file repeat.c +/// \brief Repeats given string given times +/// +/// This program can be useful when debugging run-length encoder in +/// the Subblock filter, especially the condition when repeat count +/// doesn't fit into 28-bit integer. +// +// Author: Lasse Collin +// +// This file has been put into the public domain. +// You can do whatever you want with this file. +// +/////////////////////////////////////////////////////////////////////////////// + +#include "sysdefs.h" +#include <stdio.h> + + +int +main(int argc, char **argv) +{ + if (argc != 3) { + fprintf(stderr, "Usage: %s COUNT STRING\n", argv[0]); + exit(1); + } + + unsigned long long count = strtoull(argv[1], NULL, 10); + const size_t size = strlen(argv[2]); + + while (count-- != 0) + fwrite(argv[2], 1, size, stdout); + + return !!(ferror(stdout) || fclose(stdout)); +} |