summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSami Kerola <kerolasa@iki.fi>2014-01-03 21:00:56 +0000
committerMike Frysinger <vapier@gentoo.org>2014-01-04 08:44:36 -0500
commit0c813d1f3e31b59844655c0c1b61462b32102c1a (patch)
treeb27414af8eeabe683dd18b5c7b7e835bdf3ff4ee
parent20f4a8d9937b2a824a5d20583dd850070fe29988 (diff)
nscd: list all tables in usage()
Usage output for option --invalidate=TABLE is not helpful without list of tables. The list is also missing from nscd(8) manual which made it pretty difficult to know what are the tables.
-rw-r--r--ChangeLog4
-rw-r--r--nscd/nscd.c25
2 files changed, 26 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ddfb69a2fd..2acd69d983 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-01-04 Sami Kerola <kerolasa@iki.fi>
+
+ * nscd/nscd.c: Improve usage() output.
+
2014-01-04 Mike Frysinger <vapier@gentoo.org>
* config.h.in: Add HAVE_LINUX_FANOTIFY_H template.
diff --git a/nscd/nscd.c b/nscd/nscd.c
index e7f04f808c..63d9d83599 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -442,19 +442,38 @@ parse_opt (int key, char *arg, struct argp_state *state)
static char *
more_help (int key, const char *text, void *input)
{
- char *tp = NULL;
+ char *tables, *tp = NULL;
+
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
+ {
+ dbtype cnt;
+
+ tables = xmalloc (sizeof (dbnames) + 1);
+ for (cnt = 0; cnt < lastdb; cnt++)
+ {
+ strcat (tables, dbnames[cnt]);
+ strcat (tables, " ");
+ }
+ }
+
/* We print some extra information. */
if (asprintf (&tp, gettext ("\
+Supported tables:\n\
+%s\n\
+\n\
For bug reporting instructions, please see:\n\
-%s.\n"), REPORT_BUGS_TO) < 0)
- return NULL;
+%s.\n\
+"), tables, REPORT_BUGS_TO) < 0)
+ tp = NULL;
+ free (tables);
return tp;
+
default:
break;
}
+
return (char *) text;
}