diff options
| author | Harshavardhana <fharshav@redhat.com> | 2011-12-02 16:58:14 -0800 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2011-12-20 09:53:17 -0800 | 
| commit | 7eed1d5ba51b65e865f79a392aff70048c702bf0 (patch) | |
| tree | eff5e97b657a47666bc70de841daa8ca978f2851 /libglusterfs/src/dict.c | |
| parent | 0074f208448d131a25721d8cd4ed408c5c57c72a (diff) | |
transport/rdma: Add attr_timeout, attr_retry_cnt, attr_rnr_retry
as configurable options
Change-Id: Ifc4710f149be35979746ddfbfb4181638601bc64
BUG: 766040
Signed-off-by: Harshavardhana <fharshav@redhat.com>
Reviewed-on: http://review.gluster.com/766
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'libglusterfs/src/dict.c')
| -rw-r--r-- | libglusterfs/src/dict.c | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index 40f575d52d0..2ad1ae1abff 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -22,6 +22,7 @@  #include <stdlib.h>  #include <stdio.h>  #include <inttypes.h> +#include <limits.h>  #ifndef _CONFIG_H  #define _CONFIG_H @@ -1166,6 +1167,35 @@ data_to_uint16 (data_t *data)          return strtol (str, NULL, 0);  } +uint8_t +data_to_uint8 (data_t *data) +{ +	uint32_t value = 0; + +        if (!data) { +		gf_log_callingfn ("dict", GF_LOG_WARNING, "data is NULL"); +                return -1; +	} + +        char *str = alloca (data->len + 1); +        if (!str) +                return -1; + +        memcpy (str, data->data, data->len); +        str[data->len] = '\0'; + +	errno = 0; +	value = strtol (str, NULL, 0); + +	if ((UCHAR_MAX - value) < 0) { +		errno = ERANGE; +		gf_log_callingfn ("dict", GF_LOG_WARNING, "data conversion overflow detected (%s)", strerror(errno)); +		return -1; +	} + +        return (uint8_t) value; +} +  char *  data_to_str (data_t *data)  {  | 
