diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-04-19 02:12:47 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-04-24 10:31:31 -0300 |
commit | 42f1bd9b2228aaca4fb8a5597a3b5774f7ef6876 (patch) | |
tree | 8c056bd42ec55f2103d65af680a54bd55dc71d7f /src/garray.c | |
parent | 4b6b9117b3e8b9b624c354a703f01f0980c60946 (diff) | |
download | rneovim-42f1bd9b2228aaca4fb8a5597a3b5774f7ef6876.tar.gz rneovim-42f1bd9b2228aaca4fb8a5597a3b5774f7ef6876.tar.bz2 rneovim-42f1bd9b2228aaca4fb8a5597a3b5774f7ef6876.zip |
No OOM error condition in ga_concat_strings(), concat_fnames(), concat_str()
- xmallocz() is not static anymore. There are many use cases for this function
in the codebase and we should start using it.
- Simpler types in ga_concat_strings()
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. |