From 5aa2bd854d9195d8ea29812a04f4059fc125e547 Mon Sep 17 00:00:00 2001 From: Paul Mangan Date: Tue, 6 Jun 2006 07:39:23 +0000 Subject: [PATCH] 2006-06-06 [paul] 2.2.1cvs4 * src/textview.c * src/common/utils.c fix URI check Thanks to Colin --- ChangeLog | 7 +++++++ PATCHSETS | 1 + configure.ac | 2 +- src/common/utils.c | 8 ++++++++ src/textview.c | 7 ++++++- 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4e6b109a1..2b5662c4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-06-06 [paul] 2.2.1cvs4 + + * src/textview.c + * src/common/utils.c + fix URI check + Thanks to Colin + 2006-06-05 [wwp] 2.2.1cvs3 * manual/fr/account.xml diff --git a/PATCHSETS b/PATCHSETS index 1326b0a34..0db51ed3b 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -1555,3 +1555,4 @@ ( cvs diff -u -r 1.654.2.1597 -r 1.654.2.1598 configure.ac; ) > 2.2.1cvs1.patchset ( cvs diff -u -r 1.52.2.19 -r 1.52.2.20 src/prefs_folder_item.c; cvs diff -u -r 1.207.2.100 -r 1.207.2.101 src/folderview.c; cvs diff -u -r 1.75.2.23 -r 1.75.2.24 src/matcher.c; ) > 2.2.1cvs2.patchset ( cvs diff -u -r 1.1.2.4 -r 1.1.2.5 manual/fr/account.xml; ) > 2.2.1cvs3.patchset +( cvs diff -u -r 1.96.2.114 -r 1.96.2.115 src/textview.c; cvs diff -u -r 1.36.2.63 -r 1.36.2.64 src/common/utils.c; ) > 2.2.1cvs4.patchset diff --git a/configure.ac b/configure.ac index a3fdd0e26..7ea0f9afb 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=2 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=3 +EXTRA_VERSION=4 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/common/utils.c b/src/common/utils.c index 461522028..15f172206 100644 --- a/src/common/utils.c +++ b/src/common/utils.c @@ -1757,6 +1757,8 @@ static gint axtoi(const gchar *hexstr) gboolean is_uri_string(const gchar *str) { + while (str && *str && g_ascii_isspace(*str)) + str++; return (g_ascii_strncasecmp(str, "http://", 7) == 0 || g_ascii_strncasecmp(str, "https://", 8) == 0 || g_ascii_strncasecmp(str, "ftp://", 6) == 0 || @@ -1765,6 +1767,8 @@ gboolean is_uri_string(const gchar *str) gchar *get_uri_path(const gchar *uri) { + while (uri && *uri && g_ascii_isspace(*uri)) + uri++; if (g_ascii_strncasecmp(uri, "http://", 7) == 0) return (gchar *)(uri + 7); else if (g_ascii_strncasecmp(uri, "https://", 8) == 0) @@ -4279,6 +4283,8 @@ gboolean get_uri_part(const gchar *start, const gchar *scanpos, gchar *make_uri_string(const gchar *bp, const gchar *ep) { + while (bp && *bp && g_ascii_isspace(*bp)) + bp++; return g_strndup(bp, ep - bp); } @@ -4608,6 +4614,8 @@ gchar *make_http_string(const gchar *bp, const gchar *ep) gchar *tmp; gchar *result; + while (bp && *bp && g_ascii_isspace(*bp)) + bp++; tmp = g_strndup(bp, ep - bp); result = g_strconcat("http://", tmp, NULL); g_free(tmp); diff --git a/src/textview.c b/src/textview.c index 7fb68daea..3354b350e 100644 --- a/src/textview.c +++ b/src/textview.c @@ -906,7 +906,9 @@ static void textview_show_html(TextView *textview, FILE *fp, /* ALF - the sylpheed html parser returns an empty string, * if still inside an , but already parsed past HREF */ str = strtok(str, " "); - if (str) { + if (str) { + while (str && *str && g_ascii_isspace(*str)) + str++; parser->href = g_strdup(str); /* the URL may (or not) be followed by the * referenced text */ @@ -1150,6 +1152,9 @@ void textview_write_link(TextView *textview, const gchar *str, if (!uri) return; + while (uri && *uri && g_ascii_isspace(*uri)) + uri++; + text = GTK_TEXT_VIEW(textview->text); buffer = gtk_text_view_get_buffer(text); gtk_text_buffer_get_end_iter(buffer, &iter); -- 2.25.1