aboutsummaryrefslogtreecommitdiff
path: root/src/garray.c
diff options
context:
space:
mode:
authorFelipe Oliveira Carvalho <felipekde@gmail.com>2014-04-19 02:12:47 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-04-24 10:31:31 -0300
commit42f1bd9b2228aaca4fb8a5597a3b5774f7ef6876 (patch)
tree8c056bd42ec55f2103d65af680a54bd55dc71d7f /src/garray.c
parent4b6b9117b3e8b9b624c354a703f01f0980c60946 (diff)
downloadrneovim-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.c20
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.