Revision: 22446
http://sourceforge.net/p/bibdesk/svn/22446
Author: hofman
Date: 2018-07-21 09:43:52 +0000 (Sat, 21 Jul 2018)
Log Message:
-----------
use char sets instead of comparing individual characters
Modified Paths:
--------------
trunk/bibdesk/BDSKFormatParser.m
Modified: trunk/bibdesk/BDSKFormatParser.m
===================================================================
--- trunk/bibdesk/BDSKFormatParser.m 2018-07-21 09:25:48 UTC (rev 22445)
+++ trunk/bibdesk/BDSKFormatParser.m 2018-07-21 09:43:52 UTC (rev 22446)
@@ -60,6 +60,8 @@
static NSCharacterSet *validEscapeSpecifierChars = nil;
static NSCharacterSet *validArgSpecifierChars = nil;
static NSCharacterSet *validOptArgSpecifierChars = nil;
+static NSCharacterSet *validOptArg3SpecifierChars = nil;
+static NSCharacterSet *validOptArg2SpecifierChars = nil;
static NSCharacterSet *validAuthorSpecifierChars = nil;
static NSDictionary *specAttr = nil;
static NSDictionary *paramAttr = nil;
@@ -86,6 +88,8 @@
validEscapeSpecifierChars = [[NSCharacterSet
characterSetWithCharactersInString:@"0123456789%[]"] retain];
validArgSpecifierChars = [[NSCharacterSet
characterSetWithCharactersInString:@"fwcsi"] retain];
validOptArgSpecifierChars = [[NSCharacterSet
characterSetWithCharactersInString:@"aApPTEkfwsuUn"] retain];
+ validOptArg3SpecifierChars = [[NSCharacterSet
characterSetWithCharactersInString:@"APws"] retain];
+ validOptArg2SpecifierChars = [[NSCharacterSet
characterSetWithCharactersInString:@"apk"] retain];
validAuthorSpecifierChars = [[NSCharacterSet
characterSetWithCharactersInString:@"aApP"] retain];
NSFont *font = [NSFont systemFontOfSize:0];
@@ -1104,7 +1108,7 @@
// check optional arguments
if ([validOptArgSpecifierChars characterIsMember:specifier]) {
if (NO == [scanner isAtEnd]) {
- NSInteger i, numOpts = ((specifier == 'A' ||
specifier == 'P' || specifier == 'w' || specifier == 's')? 3 : ((specifier ==
'a' || specifier == 'p' || specifier == 'k')? 2 : 1));
+ NSInteger i, numOpts =
([validOptArg3SpecifierChars characterIsMember:specifier] ? 3 :
[validOptArg2SpecifierChars characterIsMember:specifier] ? 2 : 1);
for (i = 0; i < numOpts && [scanner
scanString:@"[" intoString: NULL]; i++) {
if (NO == [scanner scanUpToString:@"]"
intoString:&string])
string = @"";
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit