diff options
Diffstat (limited to 'libglusterfs/src/dict.c')
-rw-r--r-- | libglusterfs/src/dict.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index 5a07ba6b76a..35a6c94f069 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -1230,6 +1230,15 @@ _copy (dict_t *unused, dict_set ((dict_t *)newdict, key, (value)); } +static void +_remove (dict_t *dict, + char *key, + data_t *value, + void *unused) +{ + dict_del ((dict_t *)dict, key); +} + dict_t * dict_copy (dict_t *dict, @@ -1248,6 +1257,20 @@ dict_copy (dict_t *dict, return new; } +int +dict_reset (dict_t *dict) +{ + int32_t ret = -1; + if (!dict) { + gf_log_callingfn ("dict", GF_LOG_WARNING, "dict is NULL"); + goto out; + } + dict_foreach (dict, _remove, NULL); + ret = 0; +out: + return ret; +} + dict_t * dict_copy_with_ref (dict_t *dict, dict_t *new) |