From 2ae511b818e7da7eee633d713d044f9e8d17dc5c Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Mon, 13 Apr 2020 07:11:03 -0500 Subject: [PATCH] Fix recursion bug in opml normalizer. --- Frameworks/Account/OPMLNormalizer.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Frameworks/Account/OPMLNormalizer.swift b/Frameworks/Account/OPMLNormalizer.swift index 76dc084c3..77f6ee54b 100644 --- a/Frameworks/Account/OPMLNormalizer.swift +++ b/Frameworks/Account/OPMLNormalizer.swift @@ -23,6 +23,7 @@ final class OPMLNormalizer { var feedsToAdd = [RSOPMLItem]() items.forEach { (item) in + if let _ = item.feedSpecifier { if !feedsToAdd.contains(where: { $0.feedSpecifier?.feedURL == item.feedSpecifier?.feedURL }) { feedsToAdd.append(item) @@ -39,6 +40,13 @@ final class OPMLNormalizer { } feedsToAdd.append(item) + if let itemChildren = item.children { + if let parentFolder = parentFolder { + normalize(itemChildren, parentFolder: parentFolder) + } else { + normalize(itemChildren, parentFolder: item) + } + } } if let parentFolder = parentFolder {