From 5767620cc4e05b08440c144f6f7377470e9d7b71 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 22 Aug 2012 22:09:46 +0400 Subject: [PATCH] Fix url detector. --- src/url.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/url.c b/src/url.c index 803bd05fd..764e56298 100644 --- a/src/url.c +++ b/src/url.c @@ -1232,7 +1232,12 @@ url_tld_start (const gchar *begin, const gchar *end, const gchar *pos, url_match /* Try to find the start of the url by finding any non-urlsafe character or whitespace/punctuation */ while (p >= begin) { - if (!is_urlsafe (*p) || g_ascii_isspace (*p)) { + if ((!is_domain (*p) && *p != '.') || g_ascii_isspace (*p)) { + p ++; + if (*p == '.') { + /* Urls cannot start with . */ + return FALSE; + } match->m_begin = p; return TRUE; } @@ -1277,6 +1282,10 @@ url_web_start (const gchar *begin, const gchar *end, const gchar *pos, url_match return FALSE; } } + if (*pos == '.') { + /* Urls cannot start with . */ + return FALSE; + } match->m_begin = pos; return TRUE; -- 2.39.5