]> git.draconx.ca Git - dxcommon.git/blobdiff - src/help.c
help_print_optstring: Fix handling of 'flag' options.
[dxcommon.git] / src / help.c
index ea817e84ae47e485bfd9425d50510782a5da5294..43bb266d4df4dc8c5dc17ed7519abd49d1bdb088 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2021 Nick Bowler
+ * Copyright © 2021-2022 Nick Bowler
  *
  * Helper functions for formatting --help program output.
  *
  */
 static int option_type(const struct option *opt)
 {
-       return ((opt->val <= CHAR_MAX) << 2) | (opt->has_arg & 3);
+       int ret = opt->has_arg & 3;
+
+       if (!opt->flag)
+               ret |= (opt->val <= CHAR_MAX) << 2;
+
+       return ret;
 }
 
 enum {