aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/handle.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2016-06-19 21:06:03 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2016-08-31 21:40:20 +0200
commita2d25b7bf81728d913e7b317d33997c8b8268af2 (patch)
tree35a9a81aa16a7e0756a8d438207c7af0b53478b3 /src/nvim/api/private/handle.c
parent3bd3b3b76859b3eef80fa4969147efa881b60f40 (diff)
downloadrneovim-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.c16
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)