diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/dict.c | 17 | ||||
| -rw-r--r-- | libglusterfs/src/dict.h | 1 | 
2 files changed, 18 insertions, 0 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index 7bc5d57b032..1bed8bf9b69 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -2067,6 +2067,23 @@ err:  }  int +dict_set_dynstr_with_alloc (dict_t *this, char *key, const char *str) +{ +        char *alloc_str = NULL; +        int   ret       = -1; + +        alloc_str = gf_strdup (str); +        if (!alloc_str) +                return -1; + +        ret = dict_set_dynstr (this, key, alloc_str); +        if (ret) +                GF_FREE (alloc_str); + +        return ret; +} + +int  dict_set_dynstr (dict_t *this, char *key, char *str)  {          data_t * data = NULL; diff --git a/libglusterfs/src/dict.h b/libglusterfs/src/dict.h index 6e5d8aa0650..a92fd2cb61a 100644 --- a/libglusterfs/src/dict.h +++ b/libglusterfs/src/dict.h @@ -228,6 +228,7 @@ GF_MUST_CHECK int dict_set_static_bin (dict_t *this, char *key, void *ptr, size_  GF_MUST_CHECK int dict_set_str (dict_t *this, char *key, char *str);  GF_MUST_CHECK int dict_set_dynmstr (dict_t *this, char *key, char *str);  GF_MUST_CHECK int dict_set_dynstr (dict_t *this, char *key, char *str); +GF_MUST_CHECK int dict_set_dynstr_with_alloc (dict_t *this, char *key, const char *str);  GF_MUST_CHECK int dict_get_str (dict_t *this, char *key, char **str);  GF_MUST_CHECK int dict_get_str_boolean (dict_t *this, char *key, int default_val);  | 
