From ee7c29346ade3de764015b38d562fe5f71bda0b6 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 29 Jan 2020 16:48:36 -0800 Subject: [PATCH] Small cleanup --- lib/src/array.h | 28 ++++++++++++++++++++++------ lib/src/language.h | 10 ++++++---- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/lib/src/array.h b/lib/src/array.h index bc77e687..26cb8448 100644 --- a/lib/src/array.h +++ b/lib/src/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; } diff --git a/lib/src/language.h b/lib/src/language.h index d7e17c3d..0057e36c 100644 --- a/lib/src/language.h +++ b/lib/src/language.h @@ -29,10 +29,12 @@ static inline bool ts_language_is_symbol_external(const TSLanguage *self, TSSymb return 0 < symbol && symbol < self->external_token_count + 1; } -static inline const TSParseAction *ts_language_actions(const TSLanguage *self, - TSStateId state, - TSSymbol symbol, - uint32_t *count) { +static inline const TSParseAction *ts_language_actions( + const TSLanguage *self, + TSStateId state, + TSSymbol symbol, + uint32_t *count +) { TableEntry entry; ts_language_table_entry(self, state, symbol, &entry); *count = entry.action_count;