diff options
author | Amar Tumballi <amarts@redhat.com> | 2012-09-06 00:13:04 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-09-06 00:34:15 -0700 |
commit | d6c99b6134f1eb90b3a8020c3538101df266e9b5 (patch) | |
tree | a5ec27bcf3136ddfda5ce5f21917bea50ad3be58 /cli/src/cli-rpc-ops.c | |
parent | 54b71368ef290bc579f113e683a82b09893fb50a (diff) |
libglusterfs/dict: make 'dict_t' a opaque object
* ie, don't dereference dict_t pointer, instead use APIs everywhere
* other than dict_t only 'data_t' should be the valid export from dict.h
* added 'dict_foreach_fnmatch()' API
* changed dict_lookup() to use data_t, instead of data_pair_t
Change-Id: I400bb0dd55519a7c5d2a107e67c8e7a7207228dc
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 850917
Reviewed-on: http://review.gluster.org/3829
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
-rw-r--r-- | cli/src/cli-rpc-ops.c | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 9d699a0fdac..9d8aa26eeae 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -478,7 +478,6 @@ gf_cli_get_volume_cbk (struct rpc_req *req, struct iovec *iov, { int ret = -1; int opt_count = 0; - int k = 0; int32_t i = 0; int32_t j = 1; int32_t status = 0; @@ -494,7 +493,6 @@ gf_cli_get_volume_cbk (struct rpc_req *req, struct iovec *iov, char *brick = NULL; char *volname = NULL; dict_t *dict = NULL; - data_pair_t *pairs = NULL; data_t *value = NULL; cli_local_t *local = NULL; char key[1024] = {0}; @@ -709,12 +707,6 @@ xml_output: j++; } - pairs = dict->members_list; - if (!pairs) { - ret = -1; - goto out; - } - snprintf (key, 256, "volume%d.opt_count",i); ret = dict_get_int32 (dict, key, &opt_count); if (ret) @@ -724,26 +716,26 @@ xml_output: goto out; cli_out ("Options Reconfigured:"); - k = 0; - while (k < opt_count) { - - snprintf (key, 256, "volume%d.option.",i); - while (pairs) { - ptr = strstr (pairs->key, "option."); - if (ptr) { - value = pairs->value; - if (!value) { - ret = -1; - goto out; - } - cli_out_options (key, pairs->key, - value->data); + snprintf (key, 256, "volume%d.option.",i); + int _output_volinfo_opts (dict_t *d, char *k, + data_t *v, void *tmp) + { + ptr = strstr (k, "option."); + if (ptr) { + value = v; + if (!value) { + ret = -1; + goto internal_out; } - pairs = pairs->next; + cli_out_options (key, k, v->data); } - k++; + internal_out: + return ret; } + ret = dict_foreach (dict, _output_volinfo_opts, NULL); + if (ret) + goto out; i++; } |