aboutsummaryrefslogtreecommitdiff
path: root/src/api/vim.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-05-11 09:27:05 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-05-13 14:11:31 -0300
commit9d18533ca350565b7a67f4f416fa09d5110ceac1 (patch)
treec4b6239011d042ed57474b960ca59ed5e47dc214 /src/api/vim.c
parent60043da29fed70a9d4aa503ae6c73fd6f4e14a40 (diff)
downloadrneovim-9d18533ca350565b7a67f4f416fa09d5110ceac1.tar.gz
rneovim-9d18533ca350565b7a67f4f416fa09d5110ceac1.tar.bz2
rneovim-9d18533ca350565b7a67f4f416fa09d5110ceac1.zip
Add new files to clint and fix reported errors
Diffstat (limited to 'src/api/vim.c')
-rw-r--r--src/api/vim.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/api/vim.c b/src/api/vim.c
index e85d60e104..d6f63cd62b 100644
--- a/src/api/vim.c
+++ b/src/api/vim.c
@@ -38,12 +38,11 @@ void vim_push_keys(String str)
void vim_command(String str, Error *err)
{
// We still use 0-terminated strings, so we must convert.
- char cmd_str[str.size + 1];
- memcpy(cmd_str, str.data, str.size);
- cmd_str[str.size] = NUL;
+ char *cmd_str = xstrndup(str.data, str.size);
// Run the command
try_start();
do_cmdline_cmd((char_u *)cmd_str);
+ free(cmd_str);
update_screen(VALID);
try_end(err);
}
@@ -51,13 +50,11 @@ void vim_command(String str, Error *err)
Object vim_eval(String str, Error *err)
{
Object rv;
-
- char expr_str[str.size + 1];
- memcpy(expr_str, str.data, str.size);
- expr_str[str.size] = NUL;
+ char *expr_str = xstrndup(str.data, str.size);
// Evaluate the expression
try_start();
typval_T *expr_result = eval_expr((char_u *)expr_str, NULL);
+ free(expr_str);
if (!try_end(err)) {
// No errors, convert the result
@@ -114,9 +111,8 @@ StringArray vim_list_runtime_paths(void)
void vim_change_directory(String dir, Error *err)
{
- char string[dir.size + 1];
- memcpy(string, dir.data, dir.size);
- string[dir.size] = NUL;
+ char string[MAXPATHL];
+ strncpy(string, dir.data, dir.size);
try_start();
@@ -127,7 +123,7 @@ void vim_change_directory(String dir, Error *err)
return;
}
- post_chdir(FALSE);
+ post_chdir(false);
try_end(err);
}
@@ -316,7 +312,7 @@ static void write_msg(String message, bool to_err)
pos = 0;
continue;
}
-
+
line_buf[pos++] = message.data[i];
}
}