diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/dict.c | 26 | ||||
| -rw-r--r-- | libglusterfs/src/dict.h | 1 | ||||
| -rw-r--r-- | libglusterfs/src/gfdb/gfdb_data_store.h | 1 | ||||
| -rw-r--r-- | libglusterfs/src/gfdb/gfdb_sqlite3.h | 1 | 
4 files changed, 27 insertions, 2 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index 31867588def..81db64dfd40 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -2156,6 +2156,32 @@ err:          return ret;  } +int +dict_add_dynstr_with_alloc (dict_t *this, char *key, char *str) +{ +        data_t  *data = NULL; +        int      ret  = 0; +        char    *alloc_str = NULL; + +        alloc_str = gf_strdup (str); +        if (!alloc_str) +                goto out; + +        data = data_from_dynstr (alloc_str); +        if (!data) { +                GF_FREE (alloc_str); +                ret = -EINVAL; +                goto out; +        } + +        ret = dict_add (this, key, data); +        if (ret < 0) +                data_destroy (data); + +out: +        return ret; +} +  /*    for malloced strings we should do a free instead of GF_FREE  */ diff --git a/libglusterfs/src/dict.h b/libglusterfs/src/dict.h index a4c1815d06a..a1a4c85f711 100644 --- a/libglusterfs/src/dict.h +++ b/libglusterfs/src/dict.h @@ -244,6 +244,7 @@ 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_add_dynstr_with_alloc (dict_t *this, char *key, 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); diff --git a/libglusterfs/src/gfdb/gfdb_data_store.h b/libglusterfs/src/gfdb/gfdb_data_store.h index 1212c2b3fe1..ffe590b84bd 100644 --- a/libglusterfs/src/gfdb/gfdb_data_store.h +++ b/libglusterfs/src/gfdb/gfdb_data_store.h @@ -26,7 +26,6 @@  #include "gfdb_data_store_types.h"  #include "gfdb_sqlite3.h" -  /* GFDB Connection Node:   * ~~~~~~~~~~~~~~~~~~~~   * Represents the connection to the database while using libgfdb diff --git a/libglusterfs/src/gfdb/gfdb_sqlite3.h b/libglusterfs/src/gfdb/gfdb_sqlite3.h index b0c4b2b5fdd..04bfde7fa38 100644 --- a/libglusterfs/src/gfdb/gfdb_sqlite3.h +++ b/libglusterfs/src/gfdb/gfdb_sqlite3.h @@ -143,7 +143,6 @@ do {\          };\  } while (0) -  #define GF_SQLITE3_SET_PRAGMA(sqlite3_config_str, param_key, format, value,\                          ret, error)\  do {\  | 
