From 8fae59721ba1472d109c73332f7e642a42bde4bb Mon Sep 17 00:00:00 2001 From: relikd Date: Sat, 29 Dec 2018 13:28:46 +0100 Subject: [PATCH] Fixed library import errors by removing libxml import in header --- RSXML/RSAtomParser.m | 2 ++ RSXML/RSHTMLLinkParser.m | 2 ++ RSXML/RSHTMLMetadataParser.m | 2 ++ RSXML/RSOPMLParser.m | 2 ++ RSXML/RSRSSParser.m | 2 ++ RSXML/RSSAXParser.h | 16 ++++++++-------- RSXML/RSXMLError.h | 2 -- RSXML/RSXMLError.m | 11 ----------- RSXML/RSXMLParser.m | 11 ++++++++++- 9 files changed, 28 insertions(+), 22 deletions(-) diff --git a/RSXML/RSAtomParser.m b/RSXML/RSAtomParser.m index d95fef9..3cd236c 100755 --- a/RSXML/RSAtomParser.m +++ b/RSXML/RSAtomParser.m @@ -22,6 +22,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#import + #import "RSAtomParser.h" #import "RSParsedFeed.h" #import "RSParsedArticle.h" diff --git a/RSXML/RSHTMLLinkParser.m b/RSXML/RSHTMLLinkParser.m index 3bca519..4dce36e 100644 --- a/RSXML/RSHTMLLinkParser.m +++ b/RSXML/RSHTMLLinkParser.m @@ -22,6 +22,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#import + #import "RSHTMLLinkParser.h" #import "RSHTMLMetadata.h" #import "NSDictionary+RSXML.h" diff --git a/RSXML/RSHTMLMetadataParser.m b/RSXML/RSHTMLMetadataParser.m index d16af53..5387a73 100644 --- a/RSXML/RSHTMLMetadataParser.m +++ b/RSXML/RSHTMLMetadataParser.m @@ -22,6 +22,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#import + #import "RSHTMLMetadataParser.h" #import "RSHTMLMetadata.h" #import "NSString+RSXML.h" diff --git a/RSXML/RSOPMLParser.m b/RSXML/RSOPMLParser.m index f2d7b68..43fee62 100644 --- a/RSXML/RSOPMLParser.m +++ b/RSXML/RSOPMLParser.m @@ -22,6 +22,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#import + #import "RSOPMLParser.h" #import "RSOPMLItem.h" diff --git a/RSXML/RSRSSParser.m b/RSXML/RSRSSParser.m index 012c8fa..d724811 100755 --- a/RSXML/RSRSSParser.m +++ b/RSXML/RSRSSParser.m @@ -22,6 +22,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#import + #import "RSRSSParser.h" #import "RSParsedFeed.h" #import "RSParsedArticle.h" diff --git a/RSXML/RSSAXParser.h b/RSXML/RSSAXParser.h index b98410c..75c26a3 100644 --- a/RSXML/RSSAXParser.h +++ b/RSXML/RSSAXParser.h @@ -23,7 +23,6 @@ // SOFTWARE. @import Foundation; -#import /*Thread-safe, not re-entrant. @@ -37,6 +36,7 @@ @class RSSAXParser; +/// Use @c xmlChar instead of @c unsigned @c char for all method parameters. @protocol RSSAXParserDelegate + (BOOL)isHTMLParser; // reusing class method of RSXMLParser delegate @@ -44,17 +44,17 @@ @optional // Called when parsing HTML -- (void)saxParser:(RSSAXParser *)SAXParser XMLStartElement:(const xmlChar *)localName attributes:(const xmlChar **)attributes; -- (void)saxParser:(RSSAXParser *)SAXParser XMLEndElement:(const xmlChar *)localName; +- (void)saxParser:(RSSAXParser *)SAXParser XMLStartElement:(const unsigned char *)localName attributes:(const unsigned char **)attributes; +- (void)saxParser:(RSSAXParser *)SAXParser XMLEndElement:(const unsigned char *)localName; // Called when parsing XML (Atom, RSS, OPML) -- (void)saxParser:(RSSAXParser *)SAXParser XMLStartElement:(const xmlChar *)localName prefix:(const xmlChar *)prefix uri:(const xmlChar *)uri numberOfNamespaces:(NSInteger)numberOfNamespaces namespaces:(const xmlChar **)namespaces numberOfAttributes:(NSInteger)numberOfAttributes numberDefaulted:(int)numberDefaulted attributes:(const xmlChar **)attributes; -- (void)saxParser:(RSSAXParser *)SAXParser XMLEndElement:(const xmlChar *)localName prefix:(const xmlChar *)prefix uri:(const xmlChar *)uri; +- (void)saxParser:(RSSAXParser *)SAXParser XMLStartElement:(const unsigned char *)localName prefix:(const unsigned char *)prefix uri:(const unsigned char *)uri numberOfNamespaces:(NSInteger)numberOfNamespaces namespaces:(const unsigned char **)namespaces numberOfAttributes:(NSInteger)numberOfAttributes numberDefaulted:(int)numberDefaulted attributes:(const unsigned char **)attributes; +- (void)saxParser:(RSSAXParser *)SAXParser XMLEndElement:(const unsigned char *)localName prefix:(const unsigned char *)prefix uri:(const unsigned char *)uri; // Called regardless of parser type -- (void)saxParser:(RSSAXParser *)SAXParser XMLCharactersFound:(const xmlChar *)characters length:(NSUInteger)length; +- (void)saxParser:(RSSAXParser *)SAXParser XMLCharactersFound:(const unsigned char *)characters length:(NSUInteger)length; - (void)saxParserDidReachEndOfDocument:(RSSAXParser *)SAXParser; // If canceled, may not get called (but might). -- (NSString *)saxParser:(RSSAXParser *)SAXParser internedStringForName:(const xmlChar *)name prefix:(const xmlChar *)prefix; // Okay to return nil. Prefix may be nil. +- (NSString *)saxParser:(RSSAXParser *)SAXParser internedStringForName:(const unsigned char *)name prefix:(const unsigned char *)prefix; // Okay to return nil. Prefix may be nil. - (NSString *)saxParser:(RSSAXParser *)SAXParser internedStringForValue:(const void *)bytes length:(NSUInteger)length; @end @@ -72,6 +72,6 @@ - (void)beginStoringCharacters; - (NSDictionary *)attributesDictionary:(const unsigned char **)attributes numberOfAttributes:(NSInteger)numberOfAttributes; -- (NSDictionary *)attributesDictionaryHTML:(const xmlChar **)attributes; +- (NSDictionary *)attributesDictionaryHTML:(const unsigned char **)attributes; @end diff --git a/RSXML/RSXMLError.h b/RSXML/RSXMLError.h index 90a1345..8c6f373 100644 --- a/RSXML/RSXMLError.h +++ b/RSXML/RSXMLError.h @@ -22,7 +22,6 @@ // SOFTWARE. @import Foundation; -#import extern NSErrorDomain const kLIBXMLParserErrorDomain; extern NSErrorDomain const kRSXMLParserErrorDomain; @@ -44,4 +43,3 @@ typedef NS_ERROR_ENUM(kRSXMLParserErrorDomain, RSXMLError) { NSError * RSXMLMakeError(RSXMLError code); NSError * RSXMLMakeErrorWrongParser(RSXMLError code, RSXMLError expected); -NSError * RSXMLMakeErrorFromLIBXMLError(xmlErrorPtr err); diff --git a/RSXML/RSXMLError.m b/RSXML/RSXMLError.m index 2b69b04..398688c 100644 --- a/RSXML/RSXMLError.m +++ b/RSXML/RSXMLError.m @@ -65,14 +65,3 @@ NSError * RSXMLMakeErrorWrongParser(RSXMLError code, RSXMLError expected) { return [NSError errorWithDomain:kRSXMLParserErrorDomain code:code userInfo:@{NSLocalizedDescriptionKey: getErrorMessageForRSXMLError(code, expected)}]; } - -NSError * RSXMLMakeErrorFromLIBXMLError(xmlErrorPtr err) { - if (err && err->level == XML_ERR_FATAL) { - int errCode = err->code; - char * msg = err->message; - //if (err->level == XML_ERR_FATAL) - NSString *errMsg = [[NSString stringWithFormat:@"%s", msg] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; - return [NSError errorWithDomain:kLIBXMLParserErrorDomain code:errCode userInfo:@{NSLocalizedDescriptionKey: errMsg}]; - } - return nil; -} diff --git a/RSXML/RSXMLParser.m b/RSXML/RSXMLParser.m index 466ff1e..5934472 100644 --- a/RSXML/RSXMLParser.m +++ b/RSXML/RSXMLParser.m @@ -21,6 +21,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#import + #import "RSXMLParser.h" #import "RSXMLData.h" #import "RSXMLError.h" @@ -76,7 +78,14 @@ xmlResetLastError(); [_parser parseBytes:_xmlData.bytes numberOfBytes:_xmlData.length]; if (error) { - *error = RSXMLMakeErrorFromLIBXMLError(xmlGetLastError()); + xmlErrorPtr err = xmlGetLastError(); + if (err && err->level == XML_ERR_FATAL) { + int errCode = err->code; + char * msg = err->message; + NSString *errMsg = [[NSString stringWithFormat:@"%s", msg] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + *error = [NSError errorWithDomain:kLIBXMLParserErrorDomain code:errCode userInfo:@{NSLocalizedDescriptionKey: errMsg}]; + } +// *error = RSXMLMakeErrorFromLIBXMLError(); xmlResetLastError(); } }