diff options
Diffstat (limited to 'libglusterfs/src/dict.c')
| -rw-r--r-- | libglusterfs/src/dict.c | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index 35a6c94f069..40f575d52d0 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -1979,6 +1979,36 @@ err:  }  int +dict_get_ptr_and_len (dict_t *this, char *key, void **ptr, int *len) +{ +        data_t * data = NULL; +        int      ret  = 0; + +        if (!this || !key || !ptr) { +                ret = -EINVAL; +                goto err; +        } + +        ret = dict_get_with_ref (this, key, &data); +        if (ret != 0) { +                goto err; +        } + +	*len = data->len; + +        ret = _data_to_ptr (data, ptr); +        if (ret != 0) { +                goto err; +        } + +err: +        if (data) +                data_unref (data); + +        return ret; +} + +int  dict_set_ptr (dict_t *this, char *key, void *ptr)  {          data_t * data = NULL;  | 
