diff options
-rw-r--r-- | src/nvim/garray.c | 10 | ||||
-rw-r--r-- | test/functional/ui/screen_basic_spec.lua | 3 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/nvim/garray.c b/src/nvim/garray.c index 953eb58841..75c3fb9a73 100644 --- a/src/nvim/garray.c +++ b/src/nvim/garray.c @@ -184,10 +184,12 @@ char_u* ga_concat_strings(const garray_T *gap) FUNC_ATTR_NONNULL_RET void ga_concat(garray_T *gap, const char_u *restrict s) { int len = (int)strlen((char *) s); - ga_grow(gap, len); - char *data = gap->ga_data; - memcpy(data + gap->ga_len, s, (size_t) len); - gap->ga_len += len; + if (len) { + ga_grow(gap, len); + char *data = gap->ga_data; + memcpy(data + gap->ga_len, s, (size_t)len); + gap->ga_len += len; + } } /// Append one byte to a growarray which contains bytes. diff --git a/test/functional/ui/screen_basic_spec.lua b/test/functional/ui/screen_basic_spec.lua index 7ba82c8b7b..092cc8c126 100644 --- a/test/functional/ui/screen_basic_spec.lua +++ b/test/functional/ui/screen_basic_spec.lua @@ -551,7 +551,8 @@ describe('Screen', function() ]]) end) - it('has minimum width/height values', function() + -- FIXME this has some race conditions that cause it to fail periodically + pending('has minimum width/height values', function() screen:try_resize(1, 1) screen:expect([[ -- INS^ERT --| |