diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/common-utils.c | 31 | ||||
| -rw-r--r-- | libglusterfs/src/common-utils.h | 1 | 
2 files changed, 32 insertions, 0 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index cc73a8b7abb..0e133c005e3 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -2024,3 +2024,34 @@ gf_client_pid_check (gf_client_pid_t npid)          return ( (npid > GF_CLIENT_PID_MIN) && (npid < GF_CLIENT_PID_MAX) )                  ? 0 : -1;  } + +/* Strips all whitespace characters in a string and returns length of new string + * on success + */ +int +gf_strip_whitespace (char *str, int len) +{ +        int     i = 0; +        int     new_len = 0; +        char    *new_str = NULL; + +        GF_ASSERT (str); + +        new_str = GF_CALLOC (1, len + 1, gf_common_mt_char); +        if (new_str == NULL) +                return -1; + +        for (i = 0; i < len; i++) { +                if (!isspace (str[i])) +                        new_str[new_len++] = str[i]; +        } +        new_str[new_len] = '\0'; + +        if (new_len != len) { +                memset (str, 0, len); +                strncpy (str, new_str, new_len); +        } + +        GF_FREE (new_str); +        return new_len; +} diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index 86f1b051f33..7e6da9ed2d4 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -494,4 +494,5 @@ char *get_path_name (char *word, char **path);  void gf_path_strip_trailing_slashes (char *path);  uint64_t get_mem_size ();  int gf_client_pid_check (gf_client_pid_t npid); +int gf_strip_whitespace (char *str, int len);  #endif /* _COMMON_UTILS_H */  | 
