aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar keis <keijser@gmail.com>2010-12-17 22:58:35 +0100
committerGravatar keis <keijser@gmail.com>2010-12-18 00:32:25 +0100
commit422d47062882daf0d6cf29594638439b63826b2b (patch)
tree6149786df7bead3f7843e9bc0e771446b12c9d52 /src
parentd080d45c79ae77abaef06ea99eb0a8969c8dffe3 (diff)
free old value of sync_stdout before overwriting
Diffstat (limited to 'src')
-rw-r--r--src/uzbl-core.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/uzbl-core.c b/src/uzbl-core.c
index e0d31f7..2a88e76 100644
--- a/src/uzbl-core.c
+++ b/src/uzbl-core.c
@@ -1319,6 +1319,8 @@ spawn(GArray *argv, gboolean sync) {
//TODO: allow more control over argument order so that users can have some arguments before the default ones from run_command, and some after
if (argv_idx(argv, 0) &&
((path = find_existing_file(argv_idx(argv, 0)))) ) {
+ if (uzbl.comm.sync_stdout)
+ uzbl.comm.sync_stdout = strfree(uzbl.comm.sync_stdout);
run_command(path, 0,
((const gchar **) (argv->data + sizeof(gchar*))),
sync, sync?&uzbl.comm.sync_stdout:NULL);
@@ -1353,10 +1355,14 @@ spawn_sh(GArray *argv, gboolean sync) {
for (i = 1; i < g_strv_length(cmd); i++)
g_array_prepend_val(argv, cmd[i]);
- if (cmd)
+ if (cmd) {
+ if (uzbl.comm.sync_stdout)
+ uzbl.comm.sync_stdout = strfree(uzbl.comm.sync_stdout);
+
run_command(cmd[0], g_strv_length(cmd) + 1,
(const gchar **) argv->data,
sync, sync?&uzbl.comm.sync_stdout:NULL);
+ }
g_free (spacer);
g_strfreev (cmd);
}