diff options
author | Krishnan Parthasarathi <kparthas@redhat.com> | 2014-04-02 11:36:20 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2014-04-14 09:15:14 -0700 |
commit | a9d4d369efc978511e3cb69e5643945710cc9416 (patch) | |
tree | 19a8b0da0502de2d486470a921fc6dec45afc100 /libglusterfs | |
parent | 09d2dcac3a238cfe6bde1a7aed06facfa16caf20 (diff) |
dict: add dict_set_dynstr_with_alloc
There is an overwhelming no. of instances of the following pattern in
glusterd module.
...
char *dynstr = gf_strdup (str);
if (!dynstr)
goto err;
ret = dict_set_dynstr (dict, key, dynstr);
if (ret)
goto err;
...
With this changes it would look as below,
ret = dict_set_dynstr_with_alloc (dict, key, str);
if (ret)
goto err;
Change-Id: I6a47b1cbab4834badadc48c56d0b5c8c06c6dd4d
Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-on: http://review.gluster.org/7379
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'libglusterfs')
-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); |