mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	API: Refactor: Change the integer type of remote objects to uint64_t
This commit is contained in:
		| @@ -5,7 +5,7 @@ | |||||||
| #include <stdbool.h> | #include <stdbool.h> | ||||||
| #include <string.h> | #include <string.h> | ||||||
|  |  | ||||||
| #define REMOTE_TYPE(type) typedef Integer type | #define REMOTE_TYPE(type) typedef uint64_t type | ||||||
|  |  | ||||||
| #define TYPED_ARRAY_OF(type)                                                  \ | #define TYPED_ARRAY_OF(type)                                                  \ | ||||||
|   typedef struct {                                                            \ |   typedef struct {                                                            \ | ||||||
|   | |||||||
| @@ -285,7 +285,7 @@ Object vim_to_object(typval_T *obj) | |||||||
|  |  | ||||||
| buf_T *find_buffer(Buffer buffer, Error *err) | 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); |     set_api_error("Invalid buffer id", err); | ||||||
|     return NULL; |     return NULL; | ||||||
|   } |   } | ||||||
| @@ -316,7 +316,7 @@ win_T * find_window(Window window, Error *err) | |||||||
|  |  | ||||||
| tabpage_T * find_tab(Tabpage tabpage, 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); |     set_api_error("Invalid tabpage id", err); | ||||||
|     return NULL; |     return NULL; | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -142,17 +142,27 @@ void vim_change_directory(String dir, Error *err) | |||||||
|  |  | ||||||
| String vim_get_current_line(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) | 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) | 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) | Object vim_get_var(String name, Error *err) | ||||||
| @@ -205,7 +215,8 @@ Integer vim_get_buffer_count(void) | |||||||
|  |  | ||||||
| Buffer vim_get_current_buffer(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) | void vim_set_current_buffer(Buffer buffer, Error *err) | ||||||
|   | |||||||
| @@ -19,7 +19,8 @@ Buffer window_get_buffer(Window window, Error *err) | |||||||
|     return 0; |     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) | Position window_get_cursor(Window window, Error *err) | ||||||
|   | |||||||
| @@ -7,12 +7,13 @@ | |||||||
| #define REMOTE_FUNCS_IMPL(t, lt)                                            \ | #define REMOTE_FUNCS_IMPL(t, lt)                                            \ | ||||||
|   bool msgpack_rpc_to_##lt(msgpack_object *obj, t *arg)                     \ |   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)                 \ |   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)                                             \ | #define TYPED_ARRAY_IMPL(t, lt)                                             \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Thiago de Arruda
					Thiago de Arruda