From 10fc925eb957ee88179abd3e42c1cd6fd06bbe79 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 21 Feb 2012 13:07:56 -0500 Subject: [PATCH] wrap arguments in quotation marks in case they contain spaces --- gvim-wrapper.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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; }