aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-07-19 13:00:51 +0200
committerbfredl <bjorn.linse@gmail.com>2022-07-20 10:04:06 +0200
commitc65e73f2d67785f7ba617f2c4e5cfc5de946b6ab (patch)
treec062fb7b4e4a705a530136b5e0cfd7ed283118a7 /src/nvim/api
parent1ef84547a8ed4b237fbfbe673f1e9c4cd863ff0b (diff)
downloadrneovim-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.c4
-rw-r--r--src/nvim/api/private/helpers.h6
-rw-r--r--src/nvim/api/vim.c16
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--;