aboutsummaryrefslogtreecommitdiff
path: root/src/cli
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-06-18 12:53:40 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-06-18 12:54:01 -0400
commitf3dd5131ba4ca0bf647ef2cefae64e7f41ec3fa3 (patch)
treeb978754ab367bc581d8d5f206578a2797e468430 /src/cli
parentd1f5e3f102e1910b994ba9e4ab635ab7a15c127b (diff)
downloadstasis-f3dd5131ba4ca0bf647ef2cefae64e7f41ec3fa3.tar.gz
Fix usage output when option array contains arguments without short options
Diffstat (limited to 'src/cli')
-rw-r--r--src/cli/stasis_indexer/args.c14
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);
}
}
-