diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-11-18 09:27:35 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-11-18 09:27:35 -0500 |
commit | a9d975389aaf5d79d738517b98161e375e757cba (patch) | |
tree | 634a4c1a4ddc9fe6b1a7748c980cbc48f58d624a /src/cli/stasis_indexer/args.c | |
parent | f2cc2cee71c6d2fb0cdd5b7736e86efa4f999c0a (diff) | |
download | stasis-a9d975389aaf5d79d738517b98161e375e757cba.tar.gz |
Break down indexer into independent source files
* Generate test result output
* Add helper function to manage changing file extensions
Diffstat (limited to 'src/cli/stasis_indexer/args.c')
-rw-r--r-- | src/cli/stasis_indexer/args.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/cli/stasis_indexer/args.c b/src/cli/stasis_indexer/args.c new file mode 100644 index 0000000..2d92ab0 --- /dev/null +++ b/src/cli/stasis_indexer/args.c @@ -0,0 +1,38 @@ +#include "core.h" +#include "args.h" + +struct option long_options[] = { + {"help", no_argument, 0, 'h'}, + {"destdir", required_argument, 0, 'd'}, + {"verbose", no_argument, 0, 'v'}, + {"unbuffered", no_argument, 0, 'U'}, + {"web", no_argument, 0, 'w'}, + {0, 0, 0, 0}, +}; + +const char *long_options_help[] = { + "Display this usage statement", + "Destination directory", + "Increase output verbosity", + "Disable line buffering", + "Generate HTML indexes (requires pandoc)", + NULL, +}; + +void usage(char *name) { + const int maxopts = sizeof(long_options) / sizeof(long_options[0]); + char *opts = calloc(maxopts + 1, sizeof(char)); + for (int i = 0; i < maxopts; i++) { + opts[i] = (char) long_options[i].val; + } + printf("usage: %s [-%s] {{STASIS_ROOT}...}\n", name, opts); + guard_free(opts); + + for (int i = 0; i < maxopts - 1; i++) { + char line[255] = {0}; + sprintf(line, " --%s -%c %-20s", long_options[i].name, long_options[i].val, long_options_help[i]); + puts(line); + } + +} + |