From 7d9acd968f7a0537b258f23edaca2c85a0774b47 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 25 Sep 2007 22:57:32 +0000 Subject: display whether an option takes an argument in the usage output --- src/_usage.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/_usage.c b/src/_usage.c index be41e313..141a15a0 100644 --- a/src/_usage.c +++ b/src/_usage.c @@ -9,15 +9,20 @@ static void usage (int exit_status) { + const char * const has_arg[] = { "", "", "[arg]" }; int i; printf ("Usage: " APPLET " [options] "); #ifdef extraopts printf (extraopts); #endif printf ("\n\nOptions: [" getoptstring "]\n"); - for (i = 0; longopts[i].name; ++i) - printf (" -%c, --%-15s %s\n", longopts[i].val, longopts[i].name, - longopts_help[i]); + for (i = 0; longopts[i].name; ++i) { + int len = printf (" -%c, --%s %s", longopts[i].val, longopts[i].name, + has_arg[longopts[i].has_arg]); + while (++len < 25) + printf (" "); + puts (longopts_help[i]); + } exit (exit_status); } -- cgit v1.2.3