diff options
author | Sami Kerola <kerolasa@iki.fi> | 2014-01-03 21:00:56 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2014-01-04 08:44:36 -0500 |
commit | 0c813d1f3e31b59844655c0c1b61462b32102c1a (patch) | |
tree | b27414af8eeabe683dd18b5c7b7e835bdf3ff4ee /nscd/nscd.c | |
parent | 20f4a8d9937b2a824a5d20583dd850070fe29988 (diff) | |
download | glibc-0c813d1f3e31b59844655c0c1b61462b32102c1a.tar.gz |
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.c | 25 |
1 files changed, 22 insertions, 3 deletions
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; } |