aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/api/extmark.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/nvim/api/extmark.c b/src/nvim/api/extmark.c
index 23a42798d9..5dcda42b02 100644
--- a/src/nvim/api/extmark.c
+++ b/src/nvim/api/extmark.c
@@ -1254,18 +1254,18 @@ Boolean nvim_win_add_ns(Window window, Integer ns_id, Error *err)
///
/// @param window Window handle, or 0 for current window
/// @return a list of namespaces ids
-ArrayOf(Integer) nvim_win_get_ns(Window window, Error *err)
+ArrayOf(Integer) nvim_win_get_ns(Window window, Arena *arena, Error *err)
FUNC_API_SINCE(12)
{
- Array rv = ARRAY_DICT_INIT;
-
win_T *win = find_window_by_handle(window, err);
if (!win) {
- return rv;
+ return (Array)ARRAY_DICT_INIT;
}
+
+ Array rv = arena_array(arena, set_size(&win->w_ns_set));
uint32_t i;
set_foreach(&win->w_ns_set, i, {
- ADD(rv, INTEGER_OBJ((Integer)(i)));
+ ADD_C(rv, INTEGER_OBJ((Integer)(i)));
});
return rv;
@@ -1288,7 +1288,7 @@ Boolean nvim_win_remove_ns(Window window, Integer ns_id, Error *err)
return false;
}
- set_del_uint32_t(&win->w_ns_set, (uint32_t)ns_id);
+ set_del(uint32_t, &win->w_ns_set, (uint32_t)ns_id);
changed_window_setting_win(win);