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 <string.h> | ||||
|  | ||||
| #define REMOTE_TYPE(type) typedef Integer type | ||||
| #define REMOTE_TYPE(type) typedef uint64_t type | ||||
|  | ||||
| #define TYPED_ARRAY_OF(type)                                                  \ | ||||
|   typedef struct {                                                            \ | ||||
|   | ||||
| @@ -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; | ||||
|   } | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -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)                                             \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Thiago de Arruda
					Thiago de Arruda