diff options
author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-07-09 17:22:37 -0400 |
---|---|---|
committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-07-09 17:22:37 -0400 |
commit | 33bf575f6e442575b4f328a6deefcbb6945d39cd (patch) | |
tree | 05169c2888c6aa8b4c54ed227ab596b2786b4722 /src/defs-nis.c | |
parent | c4db092555d8c7f309f5fd7d6cc2243000889e8b (diff) | |
download | slapi-nis-33bf575f6e442575b4f328a6deefcbb6945d39cd.tar.gz slapi-nis-33bf575f6e442575b4f328a6deefcbb6945d39cd.tar.xz slapi-nis-33bf575f6e442575b4f328a6deefcbb6945d39cd.zip |
- add a way to pull out specific map defaults
Diffstat (limited to 'src/defs-nis.c')
-rw-r--r-- | src/defs-nis.c | 26 |
1 files changed, 20 insertions, 6 deletions
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 <getopt.h> +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", |