diff options
Diffstat (limited to 'libglusterfs')
| -rw-r--r-- | libglusterfs/src/dict.c | 22 | ||||
| -rw-r--r-- | libglusterfs/src/dict.h | 1 | 
2 files changed, 23 insertions, 0 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index 7fbacf7c3d0..cfa1b831758 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -1247,6 +1247,28 @@ fail:          return new;  } +static void +_remove (dict_t *dict, +         char *key, +         data_t *value, +         void *unused) +{ +        dict_del ((dict_t *)dict, key); +} + +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; +}  /*   * !!!!!!! CLEANED UP CODE !!!!!!!   */ diff --git a/libglusterfs/src/dict.h b/libglusterfs/src/dict.h index 0d404997ee0..76a085ee7ef 100644 --- a/libglusterfs/src/dict.h +++ b/libglusterfs/src/dict.h @@ -73,6 +73,7 @@ void data_destroy (data_t *data);  int32_t dict_set (dict_t *this, char *key, data_t *value);  data_t *dict_get (dict_t *this, char *key);  void dict_del (dict_t *this, char *key); +int dict_reset (dict_t *dict);  int32_t dict_serialized_length (dict_t *dict);  int32_t dict_serialize (dict_t *dict, char *buf);  | 
