summaryrefslogtreecommitdiffstats
path: root/libraries/libmrss/atom-link.diff
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/libmrss/atom-link.diff')
-rw-r--r--libraries/libmrss/atom-link.diff24
1 files changed, 24 insertions, 0 deletions
diff --git a/libraries/libmrss/atom-link.diff b/libraries/libmrss/atom-link.diff
new file mode 100644
index 0000000000..fa4e68628b
--- /dev/null
+++ b/libraries/libmrss/atom-link.diff
@@ -0,0 +1,24 @@
+Description: Fixes wrong <link> parsed is Atom feeds
+Debian BTS: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503225
+
+diff -Naur libmrss-0.19.2/src/mrss_parser.c libmrss-0.19.2.atom/src/mrss_parser.c
+--- libmrss-0.19.2/src/mrss_parser.c 2008-08-21 15:59:22.000000000 -0600
++++ libmrss-0.19.2.atom/src/mrss_parser.c 2008-12-07 11:30:43.000000000 -0700
+@@ -367,7 +367,16 @@
+ /* link href -> link */
+ else if (!item->link && !strcmp (cur->value, "link")
+ && (c = nxmle_find_attribute (cur, "href", NULL)))
+- item->link = c;
++ {
++ char *t;
++
++ /* alternate link is either rel="alternate" or a link tag
++ * without a rel attribute
++ */
++ t = nxmle_find_attribute (cur, "rel", NULL);
++ if ((t && !strcmp(t, "alternate")) || !t)
++ item->link = c;
++ }
+
+ /* content -> description */
+ else if (!item->description && !strcmp (cur->value, "content"))