aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-05-23 15:49:42 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-05-23 16:06:58 -0300
commitf70f9bfac1ae62828d222bc6ccb528e6e93be523 (patch)
tree34a973b8919ae04e85cce54c855956537d991c8c
parent1e67b13fdcb6ed7f2a951b9053f0a829b3a48906 (diff)
downloadrneovim-f70f9bfac1ae62828d222bc6ccb528e6e93be523.tar.gz
rneovim-f70f9bfac1ae62828d222bc6ccb528e6e93be523.tar.bz2
rneovim-f70f9bfac1ae62828d222bc6ccb528e6e93be523.zip
API: Refactor: Change the integer type of remote objects to uint64_t
-rw-r--r--src/nvim/api/private/defs.h2
-rw-r--r--src/nvim/api/private/helpers.c4
-rw-r--r--src/nvim/api/vim.c19
-rw-r--r--src/nvim/api/window.c3
-rw-r--r--src/nvim/os/msgpack_rpc.c5
5 files changed, 23 insertions, 10 deletions
diff --git a/src/nvim/api/private/defs.h b/src/nvim/api/private/defs.h
index a6c2eea8e5..770f43b20a 100644
--- a/src/nvim/api/private/defs.h
+++ b/src/nvim/api/private/defs.h
@@ -5,7 +5,7 @@
#include <stdbool.h>
#include <string.h>
-#define REMOTE_TYPE(type) typedef Integer type
+#define REMOTE_TYPE(type) typedef uint64_t type
#define TYPED_ARRAY_OF(type) \
typedef struct { \
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index a7d155382c..64aa0a2013 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -285,7 +285,7 @@ Object vim_to_object(typval_T *obj)
buf_T *find_buffer(Buffer buffer, Error *err)
{
- if (buffer > INT_MAX || buffer < INT_MIN) {
+ if (buffer > INT_MAX) {
set_api_error("Invalid buffer id", err);
return NULL;
}
@@ -316,7 +316,7 @@ win_T * find_window(Window window, Error *err)
tabpage_T * find_tab(Tabpage tabpage, Error *err)
{
- if (tabpage > INT_MAX || tabpage < INT_MIN) {
+ if (tabpage > INT_MAX) {
set_api_error("Invalid tabpage id", err);
return NULL;
}
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index cfde53b0a8..6e8840a003 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -142,17 +142,27 @@ void vim_change_directory(String dir, Error *err)
String vim_get_current_line(Error *err)
{
- return buffer_get_line(curbuf->b_fnum, curwin->w_cursor.lnum - 1, err);
+ assert(curbuf->b_fnum >= 0);
+ return buffer_get_line((uint64_t)curbuf->b_fnum,
+ curwin->w_cursor.lnum - 1,
+ err);
}
void vim_set_current_line(String line, Error *err)
{
- buffer_set_line(curbuf->b_fnum, curwin->w_cursor.lnum - 1, line, err);
+ assert(curbuf->b_fnum >= 0);
+ buffer_set_line((uint64_t)curbuf->b_fnum,
+ curwin->w_cursor.lnum - 1,
+ line,
+ err);
}
void vim_del_current_line(Error *err)
{
- buffer_del_line(curbuf->b_fnum, curwin->w_cursor.lnum - 1, err);
+ assert(curbuf->b_fnum >= 0);
+ buffer_del_line((uint64_t)curbuf->b_fnum,
+ curwin->w_cursor.lnum - 1,
+ err);
}
Object vim_get_var(String name, Error *err)
@@ -205,7 +215,8 @@ Integer vim_get_buffer_count(void)
Buffer vim_get_current_buffer(void)
{
- return curbuf->b_fnum;
+ assert(curbuf->b_fnum >= 0);
+ return (uint64_t)curbuf->b_fnum;
}
void vim_set_current_buffer(Buffer buffer, Error *err)
diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c
index 73487d9c49..8b31d8e9fc 100644
--- a/src/nvim/api/window.c
+++ b/src/nvim/api/window.c
@@ -19,7 +19,8 @@ Buffer window_get_buffer(Window window, Error *err)
return 0;
}
- return win->w_buffer->b_fnum;
+ assert(win->w_buffer->b_fnum >= 0);
+ return (uint64_t)win->w_buffer->b_fnum;
}
Position window_get_cursor(Window window, Error *err)
diff --git a/src/nvim/os/msgpack_rpc.c b/src/nvim/os/msgpack_rpc.c
index 6c18c7310d..5840d25375 100644
--- a/src/nvim/os/msgpack_rpc.c
+++ b/src/nvim/os/msgpack_rpc.c
@@ -7,12 +7,13 @@
#define REMOTE_FUNCS_IMPL(t, lt) \
bool msgpack_rpc_to_##lt(msgpack_object *obj, t *arg) \
{ \
- return msgpack_rpc_to_integer(obj, arg); \
+ *arg = obj->via.u64; \
+ return obj->type == MSGPACK_OBJECT_POSITIVE_INTEGER; \
} \
\
void msgpack_rpc_from_##lt(t result, msgpack_packer *res) \
{ \
- msgpack_rpc_from_integer(result, res); \
+ msgpack_pack_uint64(res, result); \
}
#define TYPED_ARRAY_IMPL(t, lt) \