diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2014-06-03 22:55:51 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2014-06-03 22:55:51 -0700 |
commit | b02dd8658fe8c70a77f9134cd2258f423d30e6fe (patch) | |
tree | f25ed59a624eff0163aa223565cadfabbe4d6909 | |
parent | 2bd2999a3e10e06ad92221dbefeac3be3d437f4f (diff) |
Print which option was in error along with usage message
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | xrefresh.c | 26 |
2 files changed, 21 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac index bb00acf..12b59f0 100644 --- a/configure.ac +++ b/configure.ac @@ -41,7 +41,7 @@ XORG_DEFAULT_OPTIONS AC_CHECK_FUNCS([strcasecmp]) # Checks for pkg-config packages -PKG_CHECK_MODULES(XREFRESH, [x11 xproto >= 7.0.17]) +PKG_CHECK_MODULES(XREFRESH, [x11 xproto >= 7.0.25]) AC_CONFIG_FILES([ Makefile @@ -69,7 +69,7 @@ static Window win; static char *ProgramName; -static void _X_NORETURN +static void _X_NORETURN _X_COLD Syntax(void) { fprintf (stderr, "usage: %s [-options] [geometry] [display]\n\n%s", @@ -86,6 +86,20 @@ Syntax(void) exit (1); } +static void _X_NORETURN _X_COLD +missing_arg(const char *arg) +{ + fprintf (stderr, "%s: %s requires an argument\n\n", ProgramName, arg); + Syntax (); +} + +static void _X_NORETURN _X_COLD +unknown_arg(const char *arg) +{ + fprintf (stderr, "%s: unrecognized argument %s\n\n", ProgramName, arg); + Syntax (); +} + /* * The following parses options that should be yes or no; it returns -1, 0, 1 * for error, no, yes. @@ -188,11 +202,11 @@ main(int argc, char *argv[]) if (arg[0] == '-') { if (isabbreviation ("-display", arg, 2)) { - if (++i >= argc) Syntax (); + if (++i >= argc) missing_arg (arg); displayname = argv[i]; continue; } else if (isabbreviation ("-geometry", arg, 2)) { - if (++i >= argc) Syntax (); + if (++i >= argc) missing_arg (arg); geom = argv[i]; continue; } else if (isabbreviation ("-black", arg, 2)) { @@ -202,7 +216,7 @@ main(int argc, char *argv[]) action = doWhite; continue; } else if (isabbreviation ("-solid", arg, 2)) { - if (++i >= argc) Syntax (); + if (++i >= argc) missing_arg (arg); solidcolor = argv[i]; action = doSolid; continue; @@ -213,11 +227,11 @@ main(int argc, char *argv[]) action = doRoot; continue; } else - Syntax (); + unknown_arg (arg); } else if (arg[0] == '=') /* obsolete */ geom = arg; else - Syntax (); + unknown_arg (arg); } if ((dpy = XOpenDisplay(displayname)) == NULL) { |