Fix for bug 2399 - variations in OPML syntax
authorteknolog
Sat, 03 Apr 2010 12:02:32 +0100
changeset 103 520291e28460
parent 102 04c6ccce8e7e
child 104 4d1286f7f982
Fix for bug 2399 - variations in OPML syntax
engine/src/OpmlParser.cpp
--- a/engine/src/OpmlParser.cpp	Sat Apr 03 11:47:26 2010 +0100
+++ b/engine/src/OpmlParser.cpp	Sat Apr 03 12:02:32 2010 +0100
@@ -96,7 +96,15 @@
 		if(str.CompareF(KTagOutline) == 0) {
 			iOpmlState = EStateOpmlOutline;
 		}
-		break;
+		
+		// there are two variations on OPML, where the <outline> tags sit either
+		// directly below <body>, or inside a collective <body> <outline>
+		// by checking if the <body> <outline> has arguments, we can support both
+		// by falling through to the nextstate
+		if (aAttributes.Count() == 0)
+			{
+			break;
+			}
 	case EStateOpmlOutline:
 		// <body> <outline> <outline...
 		if(str.CompareF(KTagOutline) == 0) {