diff --git a/gvim-wrapper.c b/gvim-wrapper.c index f1244fa..535b4cb 100644 --- a/gvim-wrapper.c +++ b/gvim-wrapper.c @@ -1,18 +1,20 @@ #include #include #include +#include int main(int argc, char *argv[]) { - const char **new_argv = malloc(sizeof(char *) * (argc + 2)); + char **new_argv = malloc(sizeof(char *) * (argc + 2)); int i = 0; new_argv[i++] = "gvim"; new_argv[i++] = "--remote-tab-silent"; - for (int n = 1; n < argc; n++) + for (int n = 1; n < argc; n++, i++) { - new_argv[i++] = argv[n]; + new_argv[i] = malloc(strlen(argv[n]) + 3); + sprintf(new_argv[i], "\"%s\"", argv[n]); } new_argv[i++] = NULL; - execv("C:\\apps\\Vim\\vim73\\gvim.exe", new_argv); + execv("C:\\apps\\Vim\\vim73\\gvim.exe", (const char * const *) new_argv); return -1; }