API: Refactor: Change the integer type of remote objects to uint64_t

This commit is contained in:
Thiago de Arruda
2014-05-23 15:49:42 -03:00
parent 1e67b13fdc
commit f70f9bfac1
5 changed files with 23 additions and 10 deletions

View File

@@ -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 { \

View File

@@ -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;
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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) \