aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/garray.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-04-17 20:24:23 -0400
committerJustin M. Keyes <justinkz@gmail.com>2016-04-17 20:24:23 -0400
commit007d573147bb9086c63e779b1db3938690037db8 (patch)
tree8a0833743202d0e6be899fe65b50a47197c0e40a /src/nvim/garray.c
parent83c683f5e15867c2e2889442860e91fd1074b4e1 (diff)
parenta64114eba017c0db3d1849186c9c54fb09308761 (diff)
downloadrneovim-007d573147bb9086c63e779b1db3938690037db8.tar.gz
rneovim-007d573147bb9086c63e779b1db3938690037db8.tar.bz2
rneovim-007d573147bb9086c63e779b1db3938690037db8.zip
Merge pull request #4131 from ZyX-I/json-functions
Add JSON support
Diffstat (limited to 'src/nvim/garray.c')
-rw-r--r--src/nvim/garray.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/nvim/garray.c b/src/nvim/garray.c
index e6cbd9332b..98cec69b54 100644
--- a/src/nvim/garray.c
+++ b/src/nvim/garray.c
@@ -188,12 +188,23 @@ void ga_concat(garray_T *gap, const char_u *restrict s)
return;
}
- int len = (int)strlen((char *) s);
+ ga_concat_len(gap, (const char *restrict) s, strlen((char *) s));
+}
+
+/// Concatenate a string to a growarray which contains characters
+///
+/// @param[out] gap Growarray to modify.
+/// @param[in] s String to concatenate.
+/// @param[in] len String length.
+void ga_concat_len(garray_T *const gap, const char *restrict s,
+ const size_t len)
+ FUNC_ATTR_NONNULL_ALL
+{
if (len) {
- ga_grow(gap, len);
+ ga_grow(gap, (int) len);
char *data = gap->ga_data;
- memcpy(data + gap->ga_len, s, (size_t)len);
- gap->ga_len += len;
+ memcpy(data + gap->ga_len, s, len);
+ gap->ga_len += (int) len;
}
}