Permalink
Browse files

Merge pull request #76 from kognate/master

[FIX] Stop using deprecated -[NSString initWithContentsOfFile:]. Fix a type error in MiscMerge. (Joshua Smith)
  • Loading branch information...
2 parents b2fd82c + 242a800 commit dc55ebb9ab8cc337bca8360a67622a09373f57c4 @rentzsch committed Nov 22, 2011
Showing with 19 additions and 7 deletions.
  1. +1 −1 MiscMerge/MiscMergeExpression.m
  2. +15 −4 MiscMerge/MiscMergeTemplate.m
  3. +3 −2 MiscMerge/_MiscMergeIncludeCommand.m
@@ -418,7 +418,7 @@ - (id)initWithExpressions:(NSArray *)list
{
self = [super init];
if ( self ) {
- expressions = [list retain];
+ expressions = [list mutableCopy];
}
return self;
}
@@ -129,13 +129,25 @@ + (NSString *)defaultEndDelimiter
return self;
}
+/* helper method to load string contents of filenames */
+- (NSString *) contentsOfFileWithName:(NSString *)filename {
+ NSError *error = nil;
+ NSString *fileString = [NSString stringWithContentsOfFile:filename
+ encoding:NSASCIIStringEncoding
+ error:&error];
+
+ if (error != nil) {
+ NSLog(@"%@: Could not read template file %@ because %@", [self class], filename, [error localizedDescription]);
+ }
+ return fileString;
+}
+
/*"
* Loads the contents of filename, then calls -#initWithString:.
"*/
- initWithContentsOfFile:(NSString *)filename
{
- NSString *fileString = [[[NSString alloc] initWithContentsOfFile:filename] autorelease];
- if (fileString == nil) NSLog(@"%@: Could not read template file %@", [self class], filename);
+ NSString *fileString = [self contentsOfFileWithName:filename];
return [self initWithString:fileString];
}
@@ -432,8 +444,7 @@ - (void)_addCommandString:(NSString *)commandString
"*/
- (void)parseContentsOfFile:(NSString *)filename
{
- NSString *string = [[NSString alloc] initWithContentsOfFile:filename];
- if (string == nil) NSLog(@"%@: Could not read template file %@", [self class], filename);
+ NSString *string = [self contentsOfFileWithName:filename];
[self setFilename:filename];
[self parseString:string];
[string release];
@@ -52,8 +52,9 @@ - (BOOL)parseFromScanner:(NSScanner *)aScanner template:(MiscMergeTemplate *)tem
resolvedFilename = [template resolveTemplateFilename:filename];
+ NSError *error = nil;
if ([resolvedFilename length] > 0)
- fileString = [[[NSString alloc] initWithContentsOfFile:resolvedFilename] autorelease];
+ fileString = [NSString stringWithContentsOfFile:resolvedFilename encoding:NSASCIIStringEncoding error:&error];
if (fileString)
{
@@ -72,7 +73,7 @@ - (BOOL)parseFromScanner:(NSScanner *)aScanner template:(MiscMergeTemplate *)tem
}
else
{
- [template reportParseError:@"%@: Could not load from file '%@'", [self class], resolvedFilename];
+ [template reportParseError:@"%@: Could not load from file '%@' because %@", [self class], resolvedFilename, [error localizedDescription]];
}
return YES;

0 comments on commit dc55ebb

Please sign in to comment.