diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2020-02-25 13:03:40 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2020-02-25 22:20:23 +0100 |
commit | 3ce9b05653a71efe2eeaeca6b6132d1227c367b7 (patch) | |
tree | c18b41e10c87af838fddda94eb4e8f65ca671586 /src/tree_sitter/array.h | |
parent | 96059d72e539c0a23c1f7a24290f35247ff01749 (diff) | |
download | rneovim-3ce9b05653a71efe2eeaeca6b6132d1227c367b7.tar.gz rneovim-3ce9b05653a71efe2eeaeca6b6132d1227c367b7.tar.bz2 rneovim-3ce9b05653a71efe2eeaeca6b6132d1227c367b7.zip |
treesitter: update vendored tree-sitter runtime
tree-sitter/tree-sitter commit 6cb8d24de2d99c4c50c9a0fd1e719ca5b3abc87f
Included files are:
lib/include/tree-sitter/*.h
lib/src/*.[ch]
lib/src/unicode/*
LICENSE
Diffstat (limited to 'src/tree_sitter/array.h')
-rw-r--r-- | src/tree_sitter/array.h | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h index bc77e687bf..26cb8448f1 100644 --- a/src/tree_sitter/array.h +++ b/src/tree_sitter/array.h @@ -126,12 +126,28 @@ static inline void array__splice(VoidArray *self, size_t element_size, array__reserve(self, element_size, new_size); char *contents = (char *)self->contents; - if (self->size > old_end) - memmove(contents + new_end * element_size, contents + old_end * element_size, - (self->size - old_end) * element_size); - if (new_count > 0) - memcpy((contents + index * element_size), elements, - new_count * element_size); + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } self->size += new_count - old_count; } |