diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2016-06-19 21:06:03 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2016-08-31 21:40:20 +0200 |
commit | a2d25b7bf81728d913e7b317d33997c8b8268af2 (patch) | |
tree | 35a9a81aa16a7e0756a8d438207c7af0b53478b3 /src/nvim/api/private/handle.c | |
parent | 3bd3b3b76859b3eef80fa4969147efa881b60f40 (diff) | |
download | rneovim-a2d25b7bf81728d913e7b317d33997c8b8268af2.tar.gz rneovim-a2d25b7bf81728d913e7b317d33997c8b8268af2.tar.bz2 rneovim-a2d25b7bf81728d913e7b317d33997c8b8268af2.zip |
api: unify buffer numbers and window ids with handles
also allow handle==0 meaning curbuf/curwin/curtab
Diffstat (limited to 'src/nvim/api/private/handle.c')
-rw-r--r-- | src/nvim/api/private/handle.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/nvim/api/private/handle.c b/src/nvim/api/private/handle.c index 69df7294ad..acb0fb332a 100644 --- a/src/nvim/api/private/handle.c +++ b/src/nvim/api/private/handle.c @@ -5,30 +5,26 @@ #include "nvim/map.h" #include "nvim/api/private/handle.h" -#define HANDLE_INIT(name) name##_handles = pmap_new(uint64_t)() +#define HANDLE_INIT(name) name##_handles = pmap_new(handle_T)() #define HANDLE_IMPL(type, name) \ - static PMap(uint64_t) *name##_handles = NULL; \ + static PMap(handle_T) *name##_handles = NULL; /* NOLINT */ \ \ - type *handle_get_##name(uint64_t handle) \ + type *handle_get_##name(handle_T handle) \ { \ - return pmap_get(uint64_t)(name##_handles, handle); \ + return pmap_get(handle_T)(name##_handles, handle); \ } \ \ void handle_register_##name(type *name) \ { \ - assert(!name->handle); \ - name->handle = next_handle++; \ - pmap_put(uint64_t)(name##_handles, name->handle, name); \ + pmap_put(handle_T)(name##_handles, name->handle, name); \ } \ \ void handle_unregister_##name(type *name) \ { \ - pmap_del(uint64_t)(name##_handles, name->handle); \ + pmap_del(handle_T)(name##_handles, name->handle); \ } -static uint64_t next_handle = 1; - HANDLE_IMPL(buf_T, buffer) HANDLE_IMPL(win_T, window) HANDLE_IMPL(tabpage_T, tabpage) |