From 0c5963cfe4f53dc453ab9d5b2246a1ae796d126f Mon Sep 17 00:00:00 2001 From: Robert Manea Date: Fri, 29 May 2009 21:26:51 +0200 Subject: use switch in xpand_var() --- uzbl.c | 66 +++++++++++++++++++++++++++++++----------------------------------- 1 file changed, 31 insertions(+), 35 deletions(-) (limited to 'uzbl.c') diff --git a/uzbl.c b/uzbl.c index e7f43ce..baaa4c3 100644 --- a/uzbl.c +++ b/uzbl.c @@ -189,48 +189,44 @@ make_var_to_name_hash() { /* --- UTILITY FUNCTIONS --- */ static gchar * expand_vars(char *s) { - char ret[256], /* 256 chars per var name should be safe */ - *vend; uzbl_cmdprop *c; char upto = ' '; + char ret[256], *vend; GString *buf = g_string_new(""); while(*s) { - /* found quotation char */ - if(*s == '\\') { - g_string_append_c(buf, *++s); - s++; - } - /* found variable */ - else if(*s == '@') { - if(*(s+1) == '{') { - upto = '}'; s++; - } - s++; - if( (vend = strchr(s, upto)) || - (vend = strchr(s, '\0')) ) { - strncpy(ret, s, vend-s); - ret[vend-s] = '\0'; - if( (c = g_hash_table_lookup(uzbl.comm.proto_var, ret)) ) { - if(c->type == TYPE_STR) - g_string_append(buf, (gchar *)*c->ptr); - else if(c->type == TYPE_INT) { - char *b = itos((int)*c->ptr); - g_string_append(buf, b); - g_free(b); + switch(*s) { + case '\\': + g_string_append_c(buf, *++s); + s++; + break; + case '@': + if(*(s+1) == '{') { + upto = '}'; s++; + } + s++; + if( (vend = strchr(s, upto)) || + (vend = strchr(s, '\0')) ) { + strncpy(ret, s, vend-s); + ret[vend-s] = '\0'; + if( (c = g_hash_table_lookup(uzbl.comm.proto_var, ret)) ) { + if(c->type == TYPE_STR) + g_string_append(buf, (gchar *)*c->ptr); + else if(c->type == TYPE_INT) { + char *b = itos((int)*c->ptr); + g_string_append(buf, b); + g_free(b); + } } + if(upto == ' ') s = vend; + else s = vend+1; + upto = ' '; } - if(upto == ' ') - s = vend; - else - s = vend+1; - upto = ' '; - } - } - /* every other char */ - else { - g_string_append_c(buf, *s); - s++; + break; + default: + g_string_append_c(buf, *s); + s++; + break; } } return g_string_free(buf, FALSE); -- cgit v1.2.3 From 26f103c5cdda0f4874fb41632808451b59ad9278 Mon Sep 17 00:00:00 2001 From: DuClare Date: Sat, 30 May 2009 00:48:49 +0300 Subject: Make --uri override the uri read from config. --- uzbl.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'uzbl.c') diff --git a/uzbl.c b/uzbl.c index d854bd2..a6b699a 100644 --- a/uzbl.c +++ b/uzbl.c @@ -2392,6 +2392,9 @@ main (int argc, char* argv[]) { g_option_context_add_group (context, gtk_get_option_group (TRUE)); g_option_context_parse (context, &argc, &argv, NULL); g_option_context_free(context); + + gchar *uri_override = (uzbl.state.uri ? g_strdup(uzbl.state.uri) : NULL); + /* initialize hash table */ uzbl.bindings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, free_action); @@ -2469,12 +2472,11 @@ main (int argc, char* argv[]) { create_stdin(); - if(uzbl.state.uri) { - GArray *a = g_array_new (TRUE, FALSE, sizeof(gchar*)); - g_array_append_val(a, uzbl.state.uri); - load_uri (uzbl.gui.web_view, a); - g_array_free (a, TRUE); - } + if (uri_override) { + set_var_value("uri", uri_override); + g_free(uri_override); + } else if (uzbl.state.uri) + cmd_load_uri(uzbl.gui.web_view, NULL); gtk_main (); clean_up(); -- cgit v1.2.3 From affa3d4e8fd344d08f8a20b8a1fa19570f6e917f Mon Sep 17 00:00:00 2001 From: DuClare Date: Sat, 30 May 2009 01:08:33 +0300 Subject: Add var 'verbose' --- uzbl.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'uzbl.c') diff --git a/uzbl.c b/uzbl.c index a6b699a..78760b0 100644 --- a/uzbl.c +++ b/uzbl.c @@ -97,6 +97,7 @@ const struct { /* variable name pointer to variable in code type dump callback function */ /* --------------------------------------------------------------------------------------- */ { "uri", PTR(uzbl.state.uri, STR, 1, cmd_load_uri)}, + { "verbose", PTR(uzbl.state.verbose, INT, 1, NULL)}, { "mode", PTR(uzbl.behave.mode, INT, 0, NULL)}, { "inject_html", PTR(uzbl.behave.inject_html, STR, 0, cmd_inject_html)}, { "base_url", PTR(uzbl.behave.base_url, STR, 1, NULL)}, @@ -2394,6 +2395,7 @@ main (int argc, char* argv[]) { g_option_context_free(context); gchar *uri_override = (uzbl.state.uri ? g_strdup(uzbl.state.uri) : NULL); + gboolean verbose_override = uzbl.state.verbose; /* initialize hash table */ uzbl.bindings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, free_action); @@ -2472,6 +2474,9 @@ main (int argc, char* argv[]) { create_stdin(); + if (verbose_override > uzbl.state.verbose) + uzbl.state.verbose = verbose_override; + if (uri_override) { set_var_value("uri", uri_override); g_free(uri_override); -- cgit v1.2.3 From f219ef203be9b8b89a8ef13b7ebc78aa3ff01112 Mon Sep 17 00:00:00 2001 From: Robert Manea Date: Sat, 30 May 2009 13:22:08 +0200 Subject: added print command --- uzbl.c | 18 +++++++++++++++--- uzbl.h | 3 +++ 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'uzbl.c') diff --git a/uzbl.c b/uzbl.c index e870872..db7d7e9 100644 --- a/uzbl.c +++ b/uzbl.c @@ -616,7 +616,8 @@ static struct {char *name; Command command[2];} cmdlist[] = { "keycmd", {keycmd, NOSPLIT} }, { "keycmd_nl", {keycmd_nl, NOSPLIT} }, { "keycmd_bs", {keycmd_bs, 0} }, - { "chain", {chain, 0} } + { "chain", {chain, 0} }, + { "print", {print, NOSPLIT} } }; static void @@ -674,6 +675,16 @@ get_var(WebKitWebView *page, GArray *argv) { get_var_value(argv_idx(argv, 0)); } +static void +print(WebKitWebView *page, GArray *argv) { + (void) page; + gchar* buf; + + buf = expand_vars(argv_idx(argv, 0)); + puts(buf); + g_free(buf); +} + static void act_bind(WebKitWebView *page, GArray *argv) { (void) page; @@ -1583,9 +1594,10 @@ parse_cmd_line(const char *ctl_line) { else { /* parse a command */ gchar *ctlstrip; gchar **tokens = NULL; + len = strlen(ctl_line); - if (ctl_line[strlen(ctl_line) - 1] == '\n') /* strip trailing newline */ - ctlstrip = g_strndup(ctl_line, strlen(ctl_line) - 1); + if (ctl_line[len - 1] == '\n') /* strip trailing newline */ + ctlstrip = g_strndup(ctl_line, len - 1); else ctlstrip = g_strdup(ctl_line); tokens = g_strsplit(ctlstrip, " ", 2); diff --git a/uzbl.h b/uzbl.h index 6ab31f6..121d6b5 100644 --- a/uzbl.h +++ b/uzbl.h @@ -245,6 +245,9 @@ set_var_value(gchar *name, gchar *val); static gboolean get_var_value(const gchar *name); +static void +print(WebKitWebView *page, GArray *argv); + static gboolean new_window_cb (WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequest *request, WebKitWebNavigationAction *navigation_action, WebKitWebPolicyDecision *policy_decision, gpointer user_data); -- cgit v1.2.3 From d6911ffa67b69deecfbab30b72e4aebf592754d3 Mon Sep 17 00:00:00 2001 From: Robert Manea Date: Sat, 30 May 2009 14:14:08 +0200 Subject: removed get command in favour of print --- uzbl.c | 21 +-------------------- uzbl.h | 6 ------ 2 files changed, 1 insertion(+), 26 deletions(-) (limited to 'uzbl.c') diff --git a/uzbl.c b/uzbl.c index db7d7e9..9041f35 100644 --- a/uzbl.c +++ b/uzbl.c @@ -610,7 +610,7 @@ static struct {char *name; Command command[2];} cmdlist[] = { "dehilight", {dehilight, 0} }, { "toggle_insert_mode", {toggle_insert_mode, 0} }, { "set", {set_var, NOSPLIT} }, - { "get", {get_var, NOSPLIT} }, + //{ "get", {get_var, NOSPLIT} }, { "bind", {act_bind, NOSPLIT} }, { "dump_config", {act_dump_config, 0} }, { "keycmd", {keycmd, NOSPLIT} }, @@ -669,12 +669,6 @@ set_var(WebKitWebView *page, GArray *argv) { g_strfreev(split); } -static void -get_var(WebKitWebView *page, GArray *argv) { - (void) page; - get_var_value(argv_idx(argv, 0)); -} - static void print(WebKitWebView *page, GArray *argv) { (void) page; @@ -1274,19 +1268,6 @@ parse_command(const char *cmd, const char *param) { g_printerr ("command \"%s\" not understood. ignoring.\n", cmd); } -static gboolean -get_var_value(const gchar *name) { - uzbl_cmdprop *c; - - if( (c = g_hash_table_lookup(uzbl.comm.proto_var, name)) ) { - if(c->type == TYPE_STR) - printf("VAR: %s VALUE: (%s)\n", name, (char *)*c->ptr); - else if(c->type == TYPE_INT) - printf("VAR: %s VALUE: %d\n", name, (int)*c->ptr); - } - return TRUE; -} - static void set_proxy_url() { SoupURI *suri; diff --git a/uzbl.h b/uzbl.h index 121d6b5..846dad6 100644 --- a/uzbl.h +++ b/uzbl.h @@ -242,9 +242,6 @@ setup_signal(int signe, sigfunc *shandler); static gboolean set_var_value(gchar *name, gchar *val); -static gboolean -get_var_value(const gchar *name); - static void print(WebKitWebView *page, GArray *argv); @@ -427,9 +424,6 @@ save_cookies (SoupMessage *msg, static void set_var(WebKitWebView *page, GArray *argv); -static void -get_var(WebKitWebView *page, GArray *argv); - static void act_bind(WebKitWebView *page, GArray *argv); -- cgit v1.2.3