diff options
author | keis <keijser@gmail.com> | 2011-09-11 15:58:45 +0200 |
---|---|---|
committer | keis <keijser@gmail.com> | 2011-09-11 16:11:37 +0200 |
commit | eabeb419e37673ebd79c9c1355eac82068393103 (patch) | |
tree | 37994e13bef1ea0bd70509bd2f383a8dadb170f2 /src/uzbl-core.c | |
parent | bd7b9d09e56897b1d03e23080dedf86c7be2bb21 (diff) |
remove event formatting from run_parsed_command
* split event formatting and sending into separate functions
and expose both in events.h
* make it possible to format array of strings
Diffstat (limited to 'src/uzbl-core.c')
-rw-r--r-- | src/uzbl-core.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/uzbl-core.c b/src/uzbl-core.c index af60767..b37582e 100644 --- a/src/uzbl-core.c +++ b/src/uzbl-core.c @@ -619,21 +619,17 @@ run_parsed_command(const CommandInfo *c, GArray *a, GString *result) { if(strcmp("set", c->key) && strcmp("event", c->key) && strcmp("request", c->key)) { - // FIXME, build string inside send_event - GString *param = g_string_new(""); - const gchar *p; - guint i = 0; - while ((p = argv_idx(a, i++))) - g_string_append_printf(param, " '%s'", p); - - /* might be destructive on array a */ - c->function(uzbl.gui.web_view, a, result); - send_event(COMMAND_EXECUTED, NULL, + Event *event = format_event (COMMAND_EXECUTED, NULL, TYPE_NAME, c->key, - TYPE_FORMATTEDSTR, param->str, + TYPE_STR_ARRAY, a, NULL); - g_string_free(param, TRUE); + + /* might be destructive on array a */ + c->function(uzbl.gui.web_view, a, result); + + send_formatted_event (event); + event_free (event); } else c->function(uzbl.gui.web_view, a, result); |