wrap arguments in quotation marks in case they contain spaces
This commit is contained in:
parent
b62fc84127
commit
10fc925eb9
@ -1,18 +1,20 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
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;
|
int i = 0;
|
||||||
new_argv[i++] = "gvim";
|
new_argv[i++] = "gvim";
|
||||||
new_argv[i++] = "--remote-tab-silent";
|
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;
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user