summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2014-06-03 22:55:51 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2014-06-03 22:55:51 -0700
commitb02dd8658fe8c70a77f9134cd2258f423d30e6fe (patch)
treef25ed59a624eff0163aa223565cadfabbe4d6909
parent2bd2999a3e10e06ad92221dbefeac3be3d437f4f (diff)
Print which option was in error along with usage message
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--configure.ac2
-rw-r--r--xrefresh.c26
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
diff --git a/xrefresh.c b/xrefresh.c
index 8b16873..4fd9595 100644
--- a/xrefresh.c
+++ b/xrefresh.c
@@ -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) {