aboutsummaryrefslogtreecommitdiff
path: root/nscd/nscd.c
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 /nscd/nscd.c
parent20f4a8d9937b2a824a5d20583dd850070fe29988 (diff)
downloadglibc-0c813d1f3e31b59844655c0c1b61462b32102c1a.zip
glibc-0c813d1f3e31b59844655c0c1b61462b32102c1a.tar.gz
glibc-0c813d1f3e31b59844655c0c1b61462b32102c1a.tar.bz2
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.
Diffstat (limited to 'nscd/nscd.c')
-rw-r--r--nscd/nscd.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/nscd/nscd.c b/nscd/nscd.c
index e7f04f8..63d9d83 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;
}