diff options
Diffstat (limited to 'uzbl-core.c')
-rw-r--r-- | uzbl-core.c | 11 |
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); } |