diff options
badwolf.c: Use SoupURI instead of g_uri_parse_scheme()
@@ -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 @@ -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) { |