[Xfce4-commits] <midori:master> Skip empty lines in adblock rules files
Christian Dywan
noreply at xfce.org
Fri Jun 24 21:24:02 CEST 2011
Updating branch refs/heads/master
to f093e55f85f0e198948be81c540790f77ce77415 (commit)
from ebf892e2de8c7485896c5ae918082fbeb8db9c59 (commit)
commit f093e55f85f0e198948be81c540790f77ce77415
Author: Alexander Butenko <a.butenka at gmail.com>
Date: Sat Jun 18 09:45:20 2011 -0400
Skip empty lines in adblock rules files
extensions/adblock.c | 22 +++++++++++++++-------
1 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/extensions/adblock.c b/extensions/adblock.c
index 82d16bd..72ef300 100644
--- a/extensions/adblock.c
+++ b/extensions/adblock.c
@@ -1045,7 +1045,7 @@ adblock_fixup_regexp (const gchar* prefix,
{
gchar* dst;
GString* str;
- int len;
+ int len = 0;
if (!src)
return NULL;
@@ -1087,13 +1087,12 @@ adblock_fixup_regexp (const gchar* prefix,
break;
}
src++;
+ len++;
}
while (*src);
- dst = g_strdup (str->str);
- g_string_free (str, TRUE);
+ dst = g_string_free (str, FALSE);
/* We dont need .* in the end of url. Thats stupid */
- len = strlen (dst);
if (dst && dst[len-1] == '*' && dst[len-2] == '.')
{
dst[len-2] = '\0';
@@ -1112,6 +1111,9 @@ adblock_compile_regexp (GHashTable* tbl,
int pos = 0;
gchar *sig;
+ if (!patt)
+ return;
+
/* TODO: Play with optimization flags */
regex = g_regex_new (patt, G_REGEX_OPTIMIZE,
G_REGEX_MATCH_NOTEMPTY, &error);
@@ -1167,15 +1169,17 @@ adblock_add_url_pattern (gchar* prefix,
gchar* format_patt;
gchar* opts;
- g_test_timer_start ();
data = g_strsplit (line, "$", -1);
- if (data && data[0] && data[1] && data[2])
+ if (!data || !data[0])
+ return NULL;
+
+ if (data[1] && data[2])
{
patt = g_strconcat (data[0], data[1], NULL);
opts = g_strdup_printf ("t=%s,r=%s,%s", type, patt, data[2]);
g_strfreev (data);
}
- else if (data && data[0] && data[1])
+ else if (data[1])
{
patt = data[0];
opts = g_strdup_printf ("t=%s,r=%s,%s", type, patt, data[1]);
@@ -1268,6 +1272,10 @@ adblock_parse_line (gchar* line)
if (line[0] == '[')
return NULL;
+ /* Skip garbage */
+ if (line[0] == ' ' || !line[0])
+ return NULL;
+
/* Got CSS block hider */
if (line[0] == '#' && line[1] == '#' )
{
More information about the Xfce4-commits
mailing list