RSSyl: Strip leading and trailing whitespace from XML tag contents.
authorAndrej Kacian <ticho@claws-mail.org>
Sun, 17 May 2015 17:13:17 +0000 (19:13 +0200)
committerAndrej Kacian <ticho@claws-mail.org>
Sun, 17 May 2015 17:13:17 +0000 (19:13 +0200)
src/plugins/rssyl/libfeed/parser_atom10.c
src/plugins/rssyl/libfeed/parser_rdf.c
src/plugins/rssyl/libfeed/parser_rss20.c

index f3a9e0d..9cf4ffa 100644 (file)
@@ -107,7 +107,7 @@ void feed_parser_atom10_end(void *data, const gchar *el)
        gchar *text = NULL, *tmp;
 
        if( ctx->str != NULL )
-               text = ctx->str->str;
+               text = g_strstrip(g_strdup(ctx->str->str));
        else
                text = "";
 
@@ -253,6 +253,7 @@ void feed_parser_atom10_end(void *data, const gchar *el)
        }
 
        if( ctx->str != NULL ) {
+               g_free(text);
                g_string_free(ctx->str, TRUE);
                ctx->str = NULL;
        }
index 02b80ea..d514bf0 100644 (file)
@@ -57,7 +57,7 @@ void feed_parser_rdf_end(void *data, const gchar *el)
        gchar *text = NULL;
 
        if( ctx->str != NULL )
-               text = ctx->str->str;
+               text = g_strstrip(g_strdup(ctx->str->str));
        else
                text = "";
 
@@ -142,6 +142,7 @@ void feed_parser_rdf_end(void *data, const gchar *el)
        }
 
        if( ctx->str != NULL ) {
+               g_free(text);
                g_string_free(ctx->str, TRUE);
                ctx->str = NULL;
        }
index 25cea33..1ce30ab 100644 (file)
@@ -80,7 +80,7 @@ void feed_parser_rss20_end(void *data, const gchar *el)
        gchar *text = NULL;
 
        if( ctx->str != NULL )
-               text = ctx->str->str;
+               text = g_strstrip(g_strdup(ctx->str->str));
        else
                text = "";
 
@@ -174,6 +174,7 @@ void feed_parser_rss20_end(void *data, const gchar *el)
        }
 
        if( ctx->str != NULL ) {
+               g_free(text);
                g_string_free(ctx->str, TRUE);
                ctx->str = NULL;
        }