diff options
Diffstat (limited to 'libglusterfs/src')
-rw-r--r-- | libglusterfs/src/dict.c | 20 | ||||
-rw-r--r-- | libglusterfs/src/dict.h | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index c8f43e3161c..66fe31bcd59 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -214,6 +214,26 @@ _dict_lookup (dict_t *this, char *key) return NULL; } +int32_t +dict_lookup (dict_t *this, char *key, data_pair_t **data) +{ + if (!this || !key || !data) { + gf_log_callingfn ("dict", GF_LOG_WARNING, + "!this || !key || !data"); + return -1; + } + + LOCK (&this->lock); + { + *data = _dict_lookup (this, key); + } + UNLOCK (&this->lock); + if (*data) + return 0; + else + return -1; + +} static int32_t _dict_set (dict_t *this, diff --git a/libglusterfs/src/dict.h b/libglusterfs/src/dict.h index 4ddea942202..240d7d2e65d 100644 --- a/libglusterfs/src/dict.h +++ b/libglusterfs/src/dict.h @@ -89,6 +89,7 @@ dict_t *dict_ref (dict_t *dict); data_t *data_ref (data_t *data); void data_unref (data_t *data); +int32_t dict_lookup (dict_t *this, char *key, data_pair_t **data); /* TODO: provide converts for differnt byte sizes, signedness, and void * */ |