diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-08-29 22:27:54 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-08-29 22:27:54 -0300 |
commit | df64c0f932c8c9d4cfbec8b54aefb6c5cc7c359e (patch) | |
tree | 330a542669f1adaf4ba0d8774975b4a04c5af128 /src/nvim/ex_cmds2.c | |
parent | 9d5e2c34c95739c8130f33aad8a18b19a281a1ad (diff) | |
parent | 887446a0382593ba5d3206eb4008df22457d57d7 (diff) | |
download | rneovim-df64c0f932c8c9d4cfbec8b54aefb6c5cc7c359e.tar.gz rneovim-df64c0f932c8c9d4cfbec8b54aefb6c5cc7c359e.tar.bz2 rneovim-df64c0f932c8c9d4cfbec8b54aefb6c5cc7c359e.zip |
Merge PR #1121 'Full compliance with msgpack-RPC'
Diffstat (limited to 'src/nvim/ex_cmds2.c')
-rw-r--r-- | src/nvim/ex_cmds2.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index e0b0b55f41..3809858875 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -3251,8 +3251,9 @@ static void script_host_execute(char *method, exarg_T *eap) char *script = (char *)script_get(eap, eap->arg); if (!eap->skip) { - String str = cstr_to_string(script ? script : (char *)eap->arg); - Object result = provider_call(method, STRING_OBJ(str)); + Array args = ARRAY_DICT_INIT; + ADD(args, STRING_OBJ(cstr_to_string(script ? script : (char *)eap->arg))); + Object result = provider_call(method, args); // We don't care about the result, so free it just in case a bad provider // returned something msgpack_rpc_free_object(result); @@ -3266,18 +3267,19 @@ static void script_host_execute_file(char *method, exarg_T *eap) char buffer[MAXPATHL]; vim_FullName(eap->arg, (uint8_t *)buffer, sizeof(buffer), false); - String file = cstr_to_string(buffer); - Object result = provider_call(method, STRING_OBJ(file)); + Array args = ARRAY_DICT_INIT; + ADD(args, STRING_OBJ(cstr_to_string(buffer))); + Object result = provider_call(method, args); msgpack_rpc_free_object(result); } static void script_host_do_range(char *method, exarg_T *eap) { - Array arg = {0, 0, 0}; - ADD(arg, INTEGER_OBJ(eap->line1)); - ADD(arg, INTEGER_OBJ(eap->line2)); - ADD(arg, STRING_OBJ(cstr_to_string((char *)eap->arg))); - Object result = provider_call(method, ARRAY_OBJ(arg)); + Array args = ARRAY_DICT_INIT; + ADD(args, INTEGER_OBJ(eap->line1)); + ADD(args, INTEGER_OBJ(eap->line2)); + ADD(args, STRING_OBJ(cstr_to_string((char *)eap->arg))); + Object result = provider_call(method, args); msgpack_rpc_free_object(result); } |