aboutsummaryrefslogtreecommitdiffhomepage
path: root/uzbl-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'uzbl-core.c')
-rw-r--r--uzbl-core.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/uzbl-core.c b/uzbl-core.c
index c17c792..f278a1f 100644
--- a/uzbl-core.c
+++ b/uzbl-core.c
@@ -103,9 +103,9 @@ const struct var_name_to_ptr_t {
{ "load_start_handler", PTR_V_STR(uzbl.behave.load_start_handler, 1, NULL)},
{ "load_commit_handler", PTR_V_STR(uzbl.behave.load_commit_handler, 1, NULL)},
{ "download_handler", PTR_V_STR(uzbl.behave.download_handler, 1, NULL)},
- { "cookie_handler", PTR_V_STR(uzbl.behave.cookie_handler, 1, cmd_cookie_handler)},
+ { "cookie_handler", PTR_V_STR(uzbl.behave.cookie_handler, 1, NULL)},
{ "new_window", PTR_V_STR(uzbl.behave.new_window, 1, NULL)},
- { "scheme_handler", PTR_V_STR(uzbl.behave.scheme_handler, 1, cmd_scheme_handler)},
+ { "scheme_handler", PTR_V_STR(uzbl.behave.scheme_handler, 1, NULL)},
{ "fifo_dir", PTR_V_STR(uzbl.behave.fifo_dir, 1, cmd_fifo_dir)},
{ "socket_dir", PTR_V_STR(uzbl.behave.socket_dir, 1, cmd_socket_dir)},
{ "http_debug", PTR_V_INT(uzbl.behave.http_debug, 1, cmd_http_debug)},
@@ -2058,10 +2058,15 @@ run_handler (const gchar *act, const gchar *args) {
g_strfreev(chainparts);
} else {
- gchar **inparts = inject_handler_args(parts[0], parts[1], args);
+ /* expand the user-specified arguments */
+ gchar* expanded = expand(parts[1], 0);
+ gchar **inparts = inject_handler_args(parts[0], expanded, args);
+
parse_command(inparts[0], inparts[1], NULL);
+
g_free(inparts[0]);
g_free(inparts[1]);
+ g_free(expanded);
}
g_strfreev(parts);
}