diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/common-utils.c | 36 | ||||
| -rw-r--r-- | libglusterfs/src/common-utils.h | 2 | 
2 files changed, 38 insertions, 0 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index 3f52a90a0..7b5e02a34 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -565,6 +565,42 @@ free_exit:  }  int  +gf_strstr (const char *str, const char *delim, const char *match) +{ +        char *tmp      = NULL; +        char *save_ptr = NULL; +        char *tmp_str  = NULL; + +        int  ret       = 0; + +        tmp_str = strdup (str); + +        if (str == NULL || delim == NULL || match == NULL || tmp_str == NULL) { +                ret = -1; +		goto out; +	} + + +        tmp = strtok_r (tmp_str, delim, &save_ptr); + +        while (tmp) { +                ret = strcmp (tmp, match); + +                if (ret == 0) +                        break; + +                tmp = strtok_r (NULL, delim, &save_ptr); +        } + +out: +        if (tmp_str) +                free (tmp_str); + +        return ret; + +} + +int  gf_volume_name_validate (const char *volume_name)  {  	const char *vname = NULL; diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index 48788d295..05acfd83d 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -313,6 +313,8 @@ int gf_string2uint16 (const char *str, uint16_t *n);  int gf_string2uint32 (const char *str, uint32_t *n);  int gf_string2uint64 (const char *str, uint64_t *n); +int gf_strstr (const char *str, const char *delim, const char *match); +  int gf_string2ulong_base10 (const char *str, unsigned long *n);  int gf_string2uint_base10 (const char *str, unsigned int *n);  int gf_string2uint8_base10 (const char *str, uint8_t *n);  | 
