From 33bf575f6e442575b4f328a6deefcbb6945d39cd Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Wed, 9 Jul 2008 17:22:37 -0400 Subject: - add a way to pull out specific map defaults --- src/defs-nis.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/defs-nis.c b/src/defs-nis.c index 99dd3db..b233d4b 100644 --- a/src/defs-nis.c +++ b/src/defs-nis.c @@ -235,15 +235,22 @@ defaults_get_map_config(const char *mapname, #ifdef DEFS_NIS_MAIN #include +static void +usage(const char *argv0) +{ + fprintf(stderr, "Usage: %s [-d domain] [-s suffix] [-m map]\n", + strchr(argv0, '/') ? strrchr(argv0, '/') + 1 : argv0); +} int main(int argc, char **argv) { unsigned int i; int c; - const char *domain, *suffix; + const char *domain, *suffix, *map; domain = "@domain@"; suffix = "@suffix@"; - while ((c = getopt(argc, argv, "d:s:")) != -1) { + map = "*"; + while ((c = getopt(argc, argv, "d:s:m:")) != -1) { switch (c) { case 'd': domain = optarg; @@ -251,16 +258,23 @@ main(int argc, char **argv) case 's': suffix = optarg; break; + case 'm': + map = optarg; + break; default: - fprintf(stderr, "Usage: %s [-d domain] [-s suffix]\n", - strchr(argv[0], '/') ? - strrchr(argv[0], '/') + 1 : - argv[0]); + usage(argv[0]); return 1; break; } } + if (optind != argc) { + usage(argv[0]); + return 1; + } for (i = 0; i < sizeof(config) / sizeof(config[0]); i++) { + if (fnmatch(map, config[i].map, 0) != 0) { + continue; + } printf("%s: %s\n", NIS_MAP_CONFIGURATION_DOMAIN_ATTR, domain); printf("%s: %s%s%s\n", -- cgit