From e896c1fe0bfb30210fe9bc3ded821f2835597c74 Mon Sep 17 00:00:00 2001 From: iska Date: Thu, 30 Oct 2014 21:15:12 +0100 Subject: [PATCH] Fix initial values for HTML Tokens and handle nil-parameter --- HTMLKit/HTMLCharacterToken.m | 5 ++++- HTMLKit/HTMLCommentToken.m | 5 ++++- HTMLKit/HTMLDOCTYPEToken.m | 5 ++++- HTMLKit/HTMLTagToken.m | 9 ++++++--- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/HTMLKit/HTMLCharacterToken.m b/HTMLKit/HTMLCharacterToken.m index 7f1d98e..47bceb9 100644 --- a/HTMLKit/HTMLCharacterToken.m +++ b/HTMLKit/HTMLCharacterToken.m @@ -20,13 +20,16 @@ { self = [super init]; if (self) { - _characters = [[NSMutableString alloc] initWithString:string]; + _characters = [string mutableCopy]; } return self; } - (void)appendString:(NSString *)string { + if (_characters == nil) { + _characters = [NSMutableString new]; + } [_characters appendString:string]; } diff --git a/HTMLKit/HTMLCommentToken.m b/HTMLKit/HTMLCommentToken.m index 7b1bbe9..17f74ab 100644 --- a/HTMLKit/HTMLCommentToken.m +++ b/HTMLKit/HTMLCommentToken.m @@ -22,13 +22,16 @@ self = [super init]; if (self) { self.type = HTMLTokenTypeComment; - _data = [[NSMutableString alloc] initWithString:data]; + _data = [data mutableCopy]; } return self; } - (void)appendStringToData:(NSString *)string { + if (_data == nil) { + _data = [NSMutableString new]; + } [_data appendString:string]; } diff --git a/HTMLKit/HTMLDOCTYPEToken.m b/HTMLKit/HTMLDOCTYPEToken.m index ff55543..8c3a914 100644 --- a/HTMLKit/HTMLDOCTYPEToken.m +++ b/HTMLKit/HTMLDOCTYPEToken.m @@ -23,13 +23,16 @@ self = [super init]; if (self) { self.type = HTMLTokenTypeDoctype; - _name = [[NSMutableString alloc] initWithString:name]; + _name = [name mutableCopy]; } return self; } - (void)appendStringToName:(NSString *)string { + if (_name == nil) { + _name = [NSMutableString new]; + } [_name appendString:string]; } diff --git a/HTMLKit/HTMLTagToken.m b/HTMLKit/HTMLTagToken.m index a1f43dc..64a7c9d 100644 --- a/HTMLKit/HTMLTagToken.m +++ b/HTMLKit/HTMLTagToken.m @@ -24,13 +24,16 @@ { self = [super init]; if (self) { - _tagName = [[NSMutableString alloc] initWithString:tagName]; + _tagName = [tagName mutableCopy]; } return self; } - (void)appendStringToTagName:(NSString *)string { + if (_tagName == nil) { + _tagName = [NSMutableString new]; + } [_tagName appendString:string]; } @@ -68,7 +71,7 @@ - (NSString *)description { - return [NSString stringWithFormat:@"<%@: %p TagName=%@>", self.class, self, self.tagName]; + return [NSString stringWithFormat:@"<%@: %p TagName=%@ Attributes=%@>", self.class, self, self.tagName, self.attributes]; } @end @@ -102,7 +105,7 @@ - (NSString *)description { - return [NSString stringWithFormat:@"<%@: %p TagName=%@>", self.class, self, self.tagName]; + return [NSString stringWithFormat:@"<%@: %p TagName=%@ Attributes=%@>", self.class, self, self.tagName, self.attributes]; } @end