summaryrefslogtreecommitdiffstats
path: root/src/defs-nis.c
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-07-09 17:22:37 -0400
committerNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-07-09 17:22:37 -0400
commit33bf575f6e442575b4f328a6deefcbb6945d39cd (patch)
tree05169c2888c6aa8b4c54ed227ab596b2786b4722 /src/defs-nis.c
parentc4db092555d8c7f309f5fd7d6cc2243000889e8b (diff)
downloadslapi-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.c26
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",