Skip to content

Commit 3c9cdce

Browse files
Tom BradleyTom Bradley
Tom Bradley
authored and
Tom Bradley
committed
Merge pull request #6 from kristopherjohnson/master
Prevent crashes when calling deprecated functions
2 parents 90a7815 + 6e6e843 commit 3c9cdce

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

TBXML-Code/TBXML.m

+10-5
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ - (id)init {
9797
return self;
9898
}
9999
- (id)initWithXMLString:(NSString*)aXMLString {
100-
return [self initWithXMLString:aXMLString error:nil];
100+
NSError *error = nil;
101+
return [self initWithXMLString:aXMLString error:&error];
101102
}
102103

103104
- (id)initWithXMLString:(NSString*)aXMLString error:(NSError *__autoreleasing *)error {
@@ -130,7 +131,8 @@ - (id)initWithXMLString:(NSString*)aXMLString error:(NSError *__autoreleasing *)
130131
}
131132

132133
- (id)initWithXMLData:(NSData*)aData {
133-
return [self initWithXMLData:aData error:nil];
134+
NSError *error = nil;
135+
return [self initWithXMLData:aData error:&error];
134136
}
135137

136138
- (id)initWithXMLData:(NSData*)aData error:(NSError **)error {
@@ -144,7 +146,8 @@ - (id)initWithXMLData:(NSData*)aData error:(NSError **)error {
144146
}
145147

146148
- (id)initWithXMLFile:(NSString*)aXMLFile {
147-
return [self initWithXMLFile:aXMLFile error:nil];
149+
NSError *error = nil;
150+
return [self initWithXMLFile:aXMLFile error:&error];
148151
}
149152

150153
- (id)initWithXMLFile:(NSString*)aXMLFile error:(NSError **)error {
@@ -159,7 +162,8 @@ - (id)initWithXMLFile:(NSString*)aXMLFile error:(NSError **)error {
159162
}
160163

161164
- (id)initWithXMLFile:(NSString*)aXMLFile fileExtension:(NSString*)aFileExtension {
162-
return [self initWithXMLFile:aXMLFile fileExtension:aFileExtension error:nil];
165+
NSError *error = nil;
166+
return [self initWithXMLFile:aXMLFile fileExtension:aFileExtension error:&error];
163167
}
164168

165169
- (id)initWithXMLFile:(NSString*)aXMLFile fileExtension:(NSString*)aFileExtension error:(NSError **)error {
@@ -204,7 +208,8 @@ - (id)initWithXMLFile:(NSString*)aXMLFile fileExtension:(NSString*)aFileExtensio
204208
}
205209

206210
- (void) decodeData:(NSData*)data {
207-
[self decodeData:data withError:nil];
211+
NSError *error = nil;
212+
[self decodeData:data withError:&error];
208213
}
209214

210215
- (void) decodeData:(NSData*)data withError:(NSError **)error {

TBXML-Tests/TBXMLTests.m

+15
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,21 @@ - (void)testRootNodeAttributeEmpty
234234
STAssertTrue([value isEqualToString:@""], @"Returned string is not empty");
235235
}
236236

237+
- (void)testDeprecated_tbxmlWithXMLData
238+
{
239+
NSString *string = @"abcdefg";
240+
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
241+
242+
TBXML *tbxml = [TBXML tbxmlWithXMLData:data];
243+
STAssertTrue(tbxml.rootXMLElement == nil, @"Should have failed to parse");
244+
245+
string = @"<?xml version=\"1.0\"?><root><child>Element Text</child></root>";
246+
data = [string dataUsingEncoding:NSUTF8StringEncoding];
247+
248+
tbxml = [TBXML tbxmlWithXMLData:data];
249+
STAssertTrue(tbxml.rootXMLElement != nil, @"Should have parsed successfully");
250+
}
251+
237252
@end
238253

239254

0 commit comments

Comments
 (0)