diff options
| author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-07-10 11:48:03 -0400 |
|---|---|---|
| committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-07-10 11:48:03 -0400 |
| commit | 64ad7795b18bd236f05eda5e2c49f2bee20006b6 (patch) | |
| tree | 25d2f8c3b9d8dbd496b98236b39911e0f592e82d | |
| parent | 77b6944212127063961ea6277deca29a126a24d7 (diff) | |
| download | slapi-nis-64ad7795b18bd236f05eda5e2c49f2bee20006b6.tar.gz slapi-nis-64ad7795b18bd236f05eda5e2c49f2bee20006b6.tar.xz slapi-nis-64ad7795b18bd236f05eda5e2c49f2bee20006b6.zip | |
- add a "match" command
| -rw-r--r-- | tests/clients/yp.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/clients/yp.c b/tests/clients/yp.c index e2303d2..397d018 100644 --- a/tests/clients/yp.c +++ b/tests/clients/yp.c @@ -55,6 +55,29 @@ order(CLIENT *client, FILE *output, int argc, char **argv) } static int +match(CLIENT *client, FILE *output, int argc, char **argv) +{ + ypresp_val *resp; + ypreq_key req; + if (argc != 3) { + fprintf(stderr, "\"match\" requires 3 arguments\n"); + return 1; + } + req.domain = argv[0]; + req.map = argv[1]; + req.key.keydat_val = argv[2]; + req.key.keydat_len = strlen(argv[2]); + memset(&resp, 0, sizeof(resp)); + resp = ypproc_match_2(&req, client); + if (resp != NULL) { + fprintf(output, "%s\t%.*s\n", + argv[2], resp->val.valdat_len, resp->val.valdat_val); + return 0; + } + return 1; +} + +static int domain(CLIENT *client, FILE *output, int argc, char **argv) { bool_t *ret; @@ -226,6 +249,9 @@ dispatch(CLIENT *client, FILE *output, int argc, char **argv) if (strcmp(argv[0], "cat") == 0) { return cat(client, output, argc - 1, argv + 1); } + if (strcmp(argv[0], "match") == 0) { + return match(client, output, argc - 1, argv + 1); + } if (strcmp(argv[0], "domain") == 0) { return domain(client, output, argc - 1, argv + 1); } @@ -258,6 +284,8 @@ usage(const char *argv0) "Retrieve name of master server for MAP in DOMAIN.\n"); printf(" order DOMAIN MAP\n\t" "Retrieve time of last change to MAP in DOMAIN.\n"); + printf(" match DOMAIN MAP KEY\n\t" + "Use yp_match to search for KEY in MAP in DOMAIN.\n"); printf(" cat DOMAIN MAP\n\t" "Use yp_first/yp_next to walk contents of MAP in DOMAIN.\n"); printf(" all DOMAIN MAP\n\t" |
