diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-06-18 12:53:40 -0400 |
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-06-18 12:54:01 -0400 |
| commit | f3dd5131ba4ca0bf647ef2cefae64e7f41ec3fa3 (patch) | |
| tree | b978754ab367bc581d8d5f206578a2797e468430 /src | |
| parent | d1f5e3f102e1910b994ba9e4ab635ab7a15c127b (diff) | |
| download | stasis-f3dd5131ba4ca0bf647ef2cefae64e7f41ec3fa3.tar.gz | |
Fix usage output when option array contains arguments without short options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cli/stasis_indexer/args.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/cli/stasis_indexer/args.c b/src/cli/stasis_indexer/args.c index 63af7fb..440c671 100644 --- a/src/cli/stasis_indexer/args.c +++ b/src/cli/stasis_indexer/args.c @@ -28,17 +28,23 @@ void usage(char *name) { SYSERROR("Unable to allocate memory for options array"); exit(1); } - for (int i = 0; i < maxopts; i++) { - opts[i] = (char) long_options[i].val; + for (int i = 0, n = 0; i < maxopts; i++) { + if (isalnum(long_options[i].val)) { + opts[n] = (char) long_options[i].val; + n++; + } } printf("usage: %s [-%s] {{STASIS_ROOT} ...}\n", name, opts); guard_free(opts); for (int i = 0; i < maxopts - 1; i++) { char line[255] = {0}; - snprintf(line, sizeof(line), " --%s -%c %-20s", long_options[i].name, long_options[i].val, long_options_help[i]); + snprintf(line, sizeof(line), " --%s %s%c %s", + long_options[i].name, + isalnum(long_options[i].val) ? "-" : "", + isalnum(long_options[i].val) ? long_options[i].val : ' ', + long_options_help[i]); puts(line); } } - |
