eval: Add jsonencode() function

Ref #3471
This commit is contained in:
ZyX
2016-01-30 22:25:21 +03:00
parent c3efad5398
commit 68e58444b4
5 changed files with 583 additions and 39 deletions

View File

@@ -188,11 +188,22 @@ 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);
memcpy(data + gap->ga_len, s, len);
gap->ga_len += len;
}
}