From 41a457e4f814a0e514548b3178e7692129f0fcfe Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 30 Dec 2009 06:01:09 -0500 Subject: textconv: use shell to run helper Currently textconv helpers are run directly. Running through the shell is useful because the user can provide a program with command line arguments, like "antiword -f". It also makes textconv more consistent with other parts of git, most of which run their helpers using the shell. The downside is that textconv helpers with shell metacharacters (like space) in the filename will be broken. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff.c | 1 + 1 file changed, 1 insertion(+) (limited to 'diff.c') diff --git a/diff.c b/diff.c index 08bbd3e907..4af7c3f925 100644 --- a/diff.c +++ b/diff.c @@ -3771,6 +3771,7 @@ static char *run_textconv(const char *pgm, struct diff_filespec *spec, *arg = NULL; memset(&child, 0, sizeof(child)); + child.use_shell = 1; child.argv = argv; child.out = -1; if (start_command(&child) != 0 || -- cgit v1.3 From 7ed7fac45a696ba6343707c7c8f4b268f309be32 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 30 Dec 2009 06:03:35 -0500 Subject: diff: run external diff helper with shell This is mostly to make it more consistent with the rest of git, which uses the shell to exec helpers. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'diff.c') diff --git a/diff.c b/diff.c index 4af7c3f925..3b235e39ba 100644 --- a/diff.c +++ b/diff.c @@ -2275,7 +2275,7 @@ static void run_external_diff(const char *pgm, } *arg = NULL; fflush(NULL); - retval = run_command_v_opt(spawn_arg, 0); + retval = run_command_v_opt(spawn_arg, RUN_USING_SHELL); remove_tempfile(); if (retval) { fprintf(stderr, "external diff died, stopping at %s.\n", name); -- cgit v1.3