--- 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) {