[Xfce4-commits] <midori:master> Dont unescape URIs which are not escaped
Christian Dywan
noreply at xfce.org
Fri Jul 23 22:06:06 CEST 2010
Updating branch refs/heads/master
to f8bf87ecf97cb56f676b71d4b704453cfd5f568f (commit)
from a770a1b488bc06abd658c2def6e328b3fea15e2c (commit)
commit f8bf87ecf97cb56f676b71d4b704453cfd5f568f
Author: Alexander Butenko <a.butenka at gmail.com>
Date: Fri Jul 23 09:48:45 2010 -0400
Dont unescape URIs which are not escaped
sokoke_uri_unescape_string handles that and handles '+'
the way we want.
midori/midori-locationaction.c | 3 ++-
midori/sokoke.c | 19 ++++++++++++++++++-
midori/sokoke.h | 3 +++
3 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/midori/midori-locationaction.c b/midori/midori-locationaction.c
index 34772b2..29484d9 100644
--- a/midori/midori-locationaction.c
+++ b/midori/midori-locationaction.c
@@ -455,7 +455,8 @@ midori_location_action_popup_timeout_cb (gpointer data)
icon = action->default_icon;
if (type == 1 /* history_view */)
{
- unescaped_uri = g_uri_unescape_string ((const char*)uri, "");
+ unescaped_uri = sokoke_uri_unescape_string ((const char*)uri);
+
gtk_list_store_insert_with_values (store, NULL, matches,
URI_COL, unescaped_uri, TITLE_COL, title, YALIGN_COL, 0.25,
FAVICON_COL, icon, -1);
diff --git a/midori/sokoke.c b/midori/sokoke.c
index 99bc96e..909f711 100644
--- a/midori/sokoke.c
+++ b/midori/sokoke.c
@@ -738,6 +738,22 @@ sokoke_magic_uri (const gchar* uri)
}
/**
+ * sokoke_uri_unescape_string:
+ * @uri: an URI string
+ *
+ * Unescape @uri if needed, and pass through '+'.
+ *
+ * Return value: a newly allocated URI
+ **/
+gchar*
+sokoke_uri_unescape_string (const gchar* uri)
+{
+ if (strchr (uri,'%'))
+ return g_uri_unescape_string (uri, "+");
+ return g_strdup (uri);
+}
+
+/**
* sokoke_format_uri_for_display:
* @uri: an URI string
*
@@ -749,9 +765,10 @@ sokoke_magic_uri (const gchar* uri)
gchar*
sokoke_format_uri_for_display (const gchar* uri)
{
+ gchar* unescaped;
if (uri && g_str_has_prefix (uri, "http://"))
{
- gchar* unescaped = g_uri_unescape_string (uri, "+");
+ gchar* unescaped = sokoke_uri_unescape_string (uri);
#ifdef HAVE_LIBSOUP_2_27_90
gchar* path = NULL;
gchar* hostname;
diff --git a/midori/sokoke.h b/midori/sokoke.h
index 99d91e0..105aed0 100644
--- a/midori/sokoke.h
+++ b/midori/sokoke.h
@@ -114,6 +114,9 @@ gchar*
sokoke_magic_uri (const gchar* uri);
gchar*
+sokoke_uri_unescape_string (const gchar* uri);
+
+gchar*
sokoke_format_uri_for_display (const gchar* uri);
void
More information about the Xfce4-commits
mailing list