From e81b577aefac01eb2219ee048d84c1ee21106e15 Mon Sep 17 00:00:00 2001 From: Rob Date: Wed, 2 Dec 2009 22:24:29 +0100 Subject: always execute @(...)@ expansion in a shell --- uzbl-core.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'uzbl-core.c') diff --git a/uzbl-core.c b/uzbl-core.c index f224c60..edb3e54 100644 --- a/uzbl-core.c +++ b/uzbl-core.c @@ -267,8 +267,14 @@ expand(const char *s, guint recurse) { else if(recurse != 1 && etype == EXP_EXPR) { mycmd = expand(ret, 1); - g_spawn_command_line_sync(mycmd, &cmd_stdout, NULL, NULL, &err); + gchar *quoted = g_shell_quote(mycmd); + gchar *tmp = g_strdup_printf("%s %s", + uzbl.behave.shell_cmd?uzbl.behave.shell_cmd:"/bin/sh -c", + quoted); + g_spawn_command_line_sync(tmp, &cmd_stdout, NULL, NULL, &err); g_free(mycmd); + g_free(quoted); + g_free(tmp); if (err) { g_printerr("error on running command: %s\n", err->message); -- cgit v1.2.3