diff options
Diffstat (limited to 'src/garray.c')
-rw-r--r-- | src/garray.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/garray.c b/src/garray.c index 4084e572ad..514d486791 100644 --- a/src/garray.c +++ b/src/garray.c @@ -102,28 +102,26 @@ void ga_remove_duplicate_strings(garray_T *gap) /// /// @param gap /// -/// @returns NULL when out of memory. +/// @returns the concatenated strings char_u* ga_concat_strings(garray_T *gap) { - int i; - int len = 0; - char_u *s; + size_t len = 0; - for (i = 0; i < gap->ga_len; ++i) { - len += (int)STRLEN(((char_u **)(gap->ga_data))[i]) + 1; + for (int i = 0; i < gap->ga_len; ++i) { + len += strlen(((char **)(gap->ga_data))[i]) + 1; } - s = alloc(len + 1); + char *s = xmallocz(len); *s = NUL; - for (i = 0; i < gap->ga_len; ++i) { + for (int i = 0; i < gap->ga_len; ++i) { if (*s != NUL) { - STRCAT(s, ","); + strcat(s, ","); } - STRCAT(s, ((char_u **)(gap->ga_data))[i]); + strcat(s, ((char **)(gap->ga_data))[i]); } - return s; + return (char_u *)s; } /// Concatenate a string to a growarray which contains characters. |