aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/uzbl-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/uzbl-core.c')
-rw-r--r--src/uzbl-core.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/uzbl-core.c b/src/uzbl-core.c
index 26b3dba..b2e7a7a 100644
--- a/src/uzbl-core.c
+++ b/src/uzbl-core.c
@@ -165,6 +165,20 @@ create_var_to_name_hash() {
/* --- UTILITY FUNCTIONS --- */
+enum exp_type {
+ EXP_ERR, EXP_SIMPLE_VAR, EXP_BRACED_VAR, EXP_EXPR, EXP_JS, EXP_ESCAPE
+};
+
+enum exp_type
+get_exp_type(const gchar *s) {
+ switch(*(s+1)) {
+ case '(': return EXP_EXPR;
+ case '{': return EXP_BRACED_VAR;
+ case '<': return EXP_JS;
+ case '[': return EXP_ESCAPE;
+ default: return EXP_SIMPLE_VAR;
+ }
+}
/*
* recurse == 1: don't expand '@(command)@'
@@ -608,6 +622,9 @@ print(WebKitWebView *page, GArray *argv, GString *result) {
(void) page; (void) result;
gchar* buf;
+ if(!result)
+ return;
+
buf = expand(argv_idx(argv, 0), 0);
g_string_assign(result, buf);
g_free(buf);