commit: e5ecaf777659e8d3a625002826c4a1a3f8b31801
parent: 2a4e981821edcf340d1324560e95c08a4674bc22
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Fri, 13 Dec 2019 14:06:33 +0100
badwolf.c: Use SoupURI instead of g_uri_parse_scheme()
Diffstat:
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git 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
@@ -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)
{