aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/uzbl-core.c5
-rw-r--r--tests/test-command.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/src/uzbl-core.c b/src/uzbl-core.c
index b2e7a7a..779f378 100644
--- a/src/uzbl-core.c
+++ b/src/uzbl-core.c
@@ -737,7 +737,8 @@ act_dump_config_as_events() {
void
load_uri(WebKitWebView *web_view, GArray *argv, GString *result) {
(void) web_view; (void) result;
- set_var_value("uri", argv_idx(argv, 0));
+ gchar * uri = argv_idx(argv, 0);
+ set_var_value("uri", uri ? uri : "");
}
/* Javascript*/
@@ -1275,6 +1276,8 @@ set_var_value(const gchar *name, gchar *val) {
char *endp = NULL;
char *buf = NULL;
+ g_assert(val != NULL);
+
if( (c = g_hash_table_lookup(uzbl.comm.proto_var, name)) ) {
if(!c->writeable) return FALSE;
diff --git a/tests/test-command.c b/tests/test-command.c
index 55bf316..6b55fb3 100644
--- a/tests/test-command.c
+++ b/tests/test-command.c
@@ -282,6 +282,11 @@ test_js (void) {
g_string_free(result, TRUE);
}
+void test_uri(void) {
+ /* Testing for a crash, not crashing is a pass */
+ parse_cmd_line("uri", NULL);
+}
+
void
test_last_result (void) {
GString *result = g_string_new("");
@@ -313,6 +318,7 @@ main (int argc, char *argv[]) {
g_test_add("/test-command/event", struct EventFixture, NULL, event_fixture_setup, test_event, event_fixture_teardown);
g_test_add_func("/test-command/print", test_print);
+ g_test_add_func("/test-command/uri", test_uri);
g_test_add_func("/test-command/scroll", test_scroll);
g_test_add_func("/test-command/toggle-status", test_toggle_status);
g_test_add_func("/test-command/sync-sh", test_sync_sh);
@@ -329,7 +335,7 @@ main (int argc, char *argv[]) {
uzbl.state.config_file = "/tmp/uzbl-config";
uzbl.comm.fifo_path = "/tmp/some-nonexistant-fifo";
uzbl.comm.socket_path = "/tmp/some-nonexistant-socket";
- uzbl.state.uri = "http://example.org/";
+ uzbl.state.uri = g_strdup("http://example.org/");
uzbl.gui.main_title = "Example.Org";
uzbl.state.instance_name = INSTANCE_NAME;