diff options
Diffstat (limited to 'libglusterfs')
| -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 *   */  | 
