Revision: 24538 http://sourceforge.net/p/bibdesk/svn/24538 Author: hofman Date: 2020-01-17 15:55:14 +0000 (Fri, 17 Jan 2020) Log Message: ----------- avoid autorelease of complex string when getting multiple macros
Modified Paths: -------------- trunk/bibdesk/BDSKBibTeXParser.m trunk/bibdesk/BDSKMacroResolver.m Modified: trunk/bibdesk/BDSKBibTeXParser.m =================================================================== --- trunk/bibdesk/BDSKBibTeXParser.m 2020-01-17 14:32:42 UTC (rev 24537) +++ trunk/bibdesk/BDSKBibTeXParser.m 2020-01-17 15:55:14 UTC (rev 24538) @@ -400,11 +400,12 @@ CFStringTrimWhitespace((CFMutableStringRef)value); key = [key stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; - if ((value = [NSString stringWithBibTeXString:value macroResolver:macroResolver error:&error])) - [macros setObject:value forKey:key]; - else + if ((s = [[NSString alloc] initWithBibTeXString:value macroResolver:macroResolver error:&error])) { + [macros setObject:s forKey:key]; + [s release]; + } else { NSLog(@"Ignoring invalid complex macro: %@", [error localizedDescription]); - + } } } @@ -486,11 +487,12 @@ CFStringTrimWhitespace((CFMutableStringRef)value); key = [key stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; - if ((value = [NSString stringWithBibTeXString:value macroResolver:macroResolver error:&error])) - [macros setObject:value forKey:key]; - else + if ((s = [[NSString alloc] initWithBibTeXString:value macroResolver:macroResolver error:&error])) { + [macros setObject:s forKey:key]; + [s release]; + } else { NSLog(@"Ignoring invalid complex macro: %@", [error localizedDescription]); - + } } [scanner release]; Modified: trunk/bibdesk/BDSKMacroResolver.m =================================================================== --- trunk/bibdesk/BDSKMacroResolver.m 2020-01-17 14:32:42 UTC (rev 24537) +++ trunk/bibdesk/BDSKMacroResolver.m 2020-01-17 15:55:14 UTC (rev 24538) @@ -335,10 +335,12 @@ for (NSString *key in macros) { // we don't check for circular macros, there shouldn't be any. Or do we want to be paranoid? - if ((value = [NSString stringWithBibTeXString:[macros objectForKey:key] macroResolver:self error:&error])) + if ((value = [[NSString alloc] initWithBibTeXString:[macros objectForKey:key] macroResolver:self error:&error])) { [macroDefinitions setObject:value forKey:key]; - else + [value release]; + } else { NSLog(@"Ignoring invalid complex macro: %@", [error localizedDescription]); + } } if ([oldMacros count]) { // we remove the old style prefs, as they are now merged with the new ones This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Bibdesk-commit mailing list Bibdesk-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-commit