diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2021-08-22 13:12:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-22 13:12:58 +0200 |
commit | 7ebb25cca193063f0a3ff2ec8b6206e0832e1215 (patch) | |
tree | fbcfa265403eeaac463038c2b08cd2475f267b30 /src/nvim/api/vim.c | |
parent | 3d3c0c669d054ef49304223e3b91ac820996d1e0 (diff) | |
parent | c265fd31ab2b0307650ad94e1ea272e9360c345f (diff) | |
download | rneovim-7ebb25cca193063f0a3ff2ec8b6206e0832e1215.tar.gz rneovim-7ebb25cca193063f0a3ff2ec8b6206e0832e1215.tar.bz2 rneovim-7ebb25cca193063f0a3ff2ec8b6206e0832e1215.zip |
Merge pull request #15451 from bfredl/metamap
perf(map): get rid of unnecessary pointer indirections for maps.
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r-- | src/nvim/api/vim.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index 400dbb126c..5aed85ef08 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -58,22 +58,16 @@ # include "api/vim.c.generated.h" #endif -void api_vim_init(void) - FUNC_API_NOEXPORT -{ - namespace_ids = map_new(String, handle_T)(); -} - void api_vim_free_all_mem(void) FUNC_API_NOEXPORT { String name; handle_T id; - map_foreach(namespace_ids, name, id, { + map_foreach((&namespace_ids), name, id, { (void)id; xfree(name.data); }) - map_free(String, handle_T)(namespace_ids); + map_destroy(String, handle_T)(&namespace_ids); } /// Executes Vimscript (multiline block of Ex-commands), like anonymous @@ -1568,14 +1562,14 @@ void nvim_set_current_tabpage(Tabpage tabpage, Error *err) Integer nvim_create_namespace(String name) FUNC_API_SINCE(5) { - handle_T id = map_get(String, handle_T)(namespace_ids, name); + handle_T id = map_get(String, handle_T)(&namespace_ids, name); if (id > 0) { return id; } id = next_namespace_id++; if (name.size > 0) { String name_alloc = copy_string(name); - map_put(String, handle_T)(namespace_ids, name_alloc, id); + map_put(String, handle_T)(&namespace_ids, name_alloc, id); } return (Integer)id; } @@ -1590,7 +1584,7 @@ Dictionary nvim_get_namespaces(void) String name; handle_T id; - map_foreach(namespace_ids, name, id, { + map_foreach((&namespace_ids), name, id, { PUT(retval, name.data, INTEGER_OBJ(id)); }) |