diff options
author | bfredl <bjorn.linse@gmail.com> | 2022-07-19 13:00:51 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2022-07-20 10:04:06 +0200 |
commit | c65e73f2d67785f7ba617f2c4e5cfc5de946b6ab (patch) | |
tree | c062fb7b4e4a705a530136b5e0cfd7ed283118a7 /src/nvim/api | |
parent | 1ef84547a8ed4b237fbfbe673f1e9c4cd863ff0b (diff) | |
download | rneovim-c65e73f2d67785f7ba617f2c4e5cfc5de946b6ab.tar.gz rneovim-c65e73f2d67785f7ba617f2c4e5cfc5de946b6ab.tar.bz2 rneovim-c65e73f2d67785f7ba617f2c4e5cfc5de946b6ab.zip |
refactor(object): get rid of redundant FIXED_TEMP_ARRAY
use the MAXSIZE_TEMP_ARRAY + ADD_C pattern instead, as exemplified
by the changes in this commit.
Diffstat (limited to 'src/nvim/api')
-rw-r--r-- | src/nvim/api/buffer.c | 4 | ||||
-rw-r--r-- | src/nvim/api/private/helpers.h | 6 | ||||
-rw-r--r-- | src/nvim/api/vim.c | 16 |
3 files changed, 10 insertions, 16 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c index 806b649ce6..5e54d0ec9a 100644 --- a/src/nvim/api/buffer.c +++ b/src/nvim/api/buffer.c @@ -538,9 +538,9 @@ void nvim_buf_set_text(uint64_t channel_id, Buffer buffer, Integer start_row, In Integer end_row, Integer end_col, ArrayOf(String) replacement, Error *err) FUNC_API_SINCE(7) { - FIXED_TEMP_ARRAY(scratch, 1); + MAXSIZE_TEMP_ARRAY(scratch, 1); if (replacement.size == 0) { - scratch.items[0] = STRING_OBJ(STATIC_CSTR_AS_STRING("")); + ADD_C(scratch, STRING_OBJ(STATIC_CSTR_AS_STRING(""))); replacement = scratch; } diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h index 224ce41aae..1441da853c 100644 --- a/src/nvim/api/private/helpers.h +++ b/src/nvim/api/private/helpers.h @@ -74,12 +74,6 @@ #define ADD_C(array, item) \ kv_push_c(array, item) -#define FIXED_TEMP_ARRAY(name, fixsize) \ - Array name = ARRAY_DICT_INIT; \ - Object name##__items[fixsize]; \ - name.size = fixsize; \ - name.items = name##__items; \ - #define MAXSIZE_TEMP_ARRAY(name, maxsize) \ Array name = ARRAY_DICT_INIT; \ Object name##__items[maxsize]; \ diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index 51807c9ca8..256482fb38 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -473,10 +473,10 @@ Object nvim_exec_lua(String code, Array args, Error *err) Object nvim_notify(String msg, Integer log_level, Dictionary opts, Error *err) FUNC_API_SINCE(7) { - FIXED_TEMP_ARRAY(args, 3); - args.items[0] = STRING_OBJ(msg); - args.items[1] = INTEGER_OBJ(log_level); - args.items[2] = DICTIONARY_OBJ(opts); + MAXSIZE_TEMP_ARRAY(args, 3); + ADD_C(args, STRING_OBJ(msg)); + ADD_C(args, INTEGER_OBJ(log_level)); + ADD_C(args, DICTIONARY_OBJ(opts)); return nlua_exec(STATIC_CSTR_AS_STRING("return vim.notify(...)"), args, err); } @@ -1010,10 +1010,10 @@ static void term_write(char *buf, size_t size, void *data) if (cb == LUA_NOREF) { return; } - FIXED_TEMP_ARRAY(args, 3); - args.items[0] = INTEGER_OBJ((Integer)chan->id); - args.items[1] = BUFFER_OBJ(terminal_buf(chan->term)); - args.items[2] = STRING_OBJ(((String){ .data = buf, .size = size })); + MAXSIZE_TEMP_ARRAY(args, 3); + ADD_C(args, INTEGER_OBJ((Integer)chan->id)); + ADD_C(args, BUFFER_OBJ(terminal_buf(chan->term))); + ADD_C(args, STRING_OBJ(((String){ .data = buf, .size = size }))); textlock++; nlua_call_ref(cb, "input", args, false, NULL); textlock--; |