diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-23 15:49:42 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-23 16:06:58 -0300 |
commit | f70f9bfac1ae62828d222bc6ccb528e6e93be523 (patch) | |
tree | 34a973b8919ae04e85cce54c855956537d991c8c | |
parent | 1e67b13fdcb6ed7f2a951b9053f0a829b3a48906 (diff) | |
download | rneovim-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.h | 2 | ||||
-rw-r--r-- | src/nvim/api/private/helpers.c | 4 | ||||
-rw-r--r-- | src/nvim/api/vim.c | 19 | ||||
-rw-r--r-- | src/nvim/api/window.c | 3 | ||||
-rw-r--r-- | src/nvim/os/msgpack_rpc.c | 5 |
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) \ |