Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
2 files changed, 15 insertions, 4 deletions
-rw-r--r--Makefile2
-rw-r--r--badwolf.c17
diff --git a/Makefile b/Makefile
index 0a58cda..cbd134e 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ DATADIR = $(PREFIX)/share/badwolf
APPSDIR = $(PREFIX)/share/applications
PACKAGE = Badwolf
-DEPS = gtk+-3.0 webkit2gtk-4.0
+DEPS = gtk+-3.0 webkit2gtk-4.0 libsoup-2.4
OBJS = keybindings.o badwolf.o
EXE = badwolf
TRANS = fr.mo
diff --git a/badwolf.c b/badwolf.c
index fe40193..e85f189 100644
--- a/badwolf.c
+++ b/badwolf.c
@@ -9,6 +9,7 @@
#include <glib/gi18n.h> /* _() and other internationalization/localization helpers */
#include <glib/gprintf.h> /* g_fprintf() */
+#include <libsoup/soup.h> /* soup* */
#include <locale.h> /* LC_* */
#include <stdlib.h> /* realpath(), malloc() */
@@ -64,11 +65,21 @@ notebookCb_switch__page(GtkNotebook *notebook, GtkWidget *page, guint page_num,
gchar *
badwolf_ensure_uri_scheme(gchar *text, gboolean try_file)
{
- if(text == NULL) return "about:blank";
+ SoupURI *uri = soup_uri_new(text);
- char *scheme = g_uri_parse_scheme(text);
+ if(uri->path == NULL)
+ {
+ soup_uri_free(uri);
+ return "about:blank";
+ }
+
+ if(uri->scheme != NULL)
+ {
+ soup_uri_free(uri);
+ return text;
+ }
- if(scheme != NULL) return text;
+ soup_uri_free(uri);
if(try_file)
{