Revision: 28625
          http://sourceforge.net/p/bibdesk/svn/28625
Author:   hofman
Date:     2024-01-16 19:15:30 +0000 (Tue, 16 Jan 2024)
Log Message:
-----------
Append character to string or create from character instead of using format

Modified Paths:
--------------
    trunk/bibdesk/BDSKBibTeXParser.m
    trunk/bibdesk/BDSKCharacterConversion.m
    trunk/bibdesk/BDSKComplexString.m
    trunk/bibdesk/BDSKFormatParser.m
    trunk/bibdesk/BDSKMARCParser.m
    trunk/bibdesk/BibItem.m
    trunk/bibdesk/NSNumber_BDSKExtensions.m
    trunk/bibdesk/NSScanner_BDSKExtensions.m
    trunk/bibdesk/NSString_BDSKExtensions.h
    trunk/bibdesk/NSString_BDSKExtensions.m

Modified: trunk/bibdesk/BDSKBibTeXParser.m
===================================================================
--- trunk/bibdesk/BDSKBibTeXParser.m    2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BDSKBibTeXParser.m    2024-01-16 19:15:30 UTC (rev 28625)
@@ -389,7 +389,7 @@
                     --nesting;
                 }
                 if (endOfValue == NO) // we don't include the outer braces or 
the separating commas
-                    [value appendFormat:@"%C", ch];
+                    [value appendCharacter:ch];
             }
             if(endOfValue == NO)
                 break;

Modified: trunk/bibdesk/BDSKCharacterConversion.m
===================================================================
--- trunk/bibdesk/BDSKCharacterConversion.m     2024-01-16 18:51:22 UTC (rev 
28624)
+++ trunk/bibdesk/BDSKCharacterConversion.m     2024-01-16 19:15:30 UTC (rev 
28625)
@@ -230,7 +230,8 @@
         if (NO == [self finalizeChangesIgnoringEdit:NO])
             return;
         
-        NSString *newRoman = [NSString stringWithFormat:@"%C", 
(unichar)0x00E4];
+        unichar ch = (unichar)0x00E4;
+        NSString *newRoman = [NSString stringWithCharacters:&ch length:1];
         NSString *newTex = @"{\\\"a}";
         
         [currentArray addObject:newRoman];

Modified: trunk/bibdesk/BDSKComplexString.m
===================================================================
--- trunk/bibdesk/BDSKComplexString.m   2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BDSKComplexString.m   2024-01-16 19:15:30 UTC (rev 28625)
@@ -135,7 +135,7 @@
                         ++nesting;
                     }
                     if (nesting > 0) // we don't include the outer braces
-                        [nodeStr appendFormat:@"%C",ch];
+                        [nodeStr appendCharacter:ch];
                 }
                 [sc setScanLocation:[sc scanLocation] + 1];
             }

Modified: trunk/bibdesk/BDSKFormatParser.m
===================================================================
--- trunk/bibdesk/BDSKFormatParser.m    2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BDSKFormatParser.m    2024-01-16 19:15:30 UTC (rev 28625)
@@ -702,7 +702,7 @@
                                case '-':
                                {
                        // escaped character
-                                       [parsedStr appendFormat:@"%C", 
specifier];
+                                       [parsedStr appendCharacter:specifier];
                                        break;
                                }
                 case 'u':
@@ -1368,7 +1368,7 @@
             break;
         if (tmpString == nil)
             tmpString = [NSMutableString stringWithString:string ?: @""];
-        [tmpString appendFormat:@"%C", escapeChar];
+        [tmpString appendCharacter:escapeChar];
         wasEscaped = YES;
     }
     if (tmpString)

Modified: trunk/bibdesk/BDSKMARCParser.m
===================================================================
--- trunk/bibdesk/BDSKMARCParser.m      2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BDSKMARCParser.m      2024-01-16 19:15:30 UTC (rev 28625)
@@ -171,9 +171,12 @@
     BibItem *newBI = nil;
     NSMutableArray *returnArray = [NSMutableArray arrayWithCapacity:10];
     
-    NSString *recordTerminator = [NSString stringWithFormat:@"%C", 
(unichar)0x1D];
-    NSString *fieldTerminator = [NSString stringWithFormat:@"%C", 
(unichar)0x1E];
-    NSString *subFieldIndicator = [NSString stringWithFormat:@"%C", 
(unichar)0x1F];
+    unichar ch = (unichar)0x1D;
+    NSString *recordTerminator = [NSString stringWithCharacters:&ch length:1];
+    ch = (unichar)0x1E;
+    NSString *fieldTerminator = [NSString stringWithCharacters:&ch length:1];
+    ch = (unichar)0x1F;
+    NSString *subFieldIndicator = [NSString stringWithCharacters:&ch length:1];
        
     BOOL isUNIMARC = [itemString characterAtIndex:23] == ' ';
     

Modified: trunk/bibdesk/BibItem.m
===================================================================
--- trunk/bibdesk/BibItem.m     2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BibItem.m     2024-01-16 19:15:30 UTC (rev 28625)
@@ -1439,7 +1439,7 @@
                     NSArray *persons = [self peopleArrayForField:key];
                     for (BibAuthor *person in persons) {
                         if ([result isEqualToString:@""] == NO)
-                            [result appendFormat:@"%C", (unichar)0x1E];
+                            [result appendCharacter:(unichar)0x1E];
                         // just remove curly braces from names
                         [result appendString:[[person normalizedName] 
stringByRemovingCurlyBraces]];
                     }
@@ -1447,7 +1447,7 @@
                     NSString *value = [self valueOfField:key inherit:([key 
isNoteField] == NO)];
                     if ([NSString isEmptyString:value] == NO) {
                         if ([result length])
-                            [result appendFormat:@"%C", (unichar)0x1E];
+                            [result appendCharacter:(unichar)0x1E];
                         [result appendString:value];
                     }
                 }
@@ -1462,7 +1462,7 @@
                     value = [thePubFields objectForKey:key];
                     if ([NSString isEmptyString:value] == NO) {
                         if ([result length])
-                            [result appendFormat:@"%C", (unichar)0x1E];
+                            [result appendCharacter:(unichar)0x1E];
                         [result appendString:value];
                     }
                 }
@@ -1476,7 +1476,7 @@
         NSMutableString *names = [NSMutableString string];
         for (BibAuthor *person in [self allPeople]) {
             if ([names isEqualToString:@""] == NO)
-                [names appendFormat:@"%C", (unichar)0x1E];
+                [names appendCharacter:(unichar)0x1E];
             // just remove curly braces from names
             [names appendString:[[person normalizedName] 
stringByRemovingCurlyBraces]];
         }
@@ -1489,7 +1489,7 @@
         NSMutableString *names = [NSMutableString string];
         for (BibAuthor *person in [self peopleArrayForField:field]) {
             if ([names isEqualToString:@""] == NO)
-                [names appendFormat:@"%C", (unichar)0x1E];
+                [names appendCharacter:(unichar)0x1E];
             // just remove curly braces from names
             [names appendString:[[person normalizedName] 
stringByRemovingCurlyBraces]];
         }
@@ -1500,7 +1500,7 @@
         NSMutableString *result = [NSMutableString string];
         for (NSString *value in [self groupArrayForField:field]) {
             if ([result length])
-                [result appendFormat:@"%C", (unichar)0x1E];
+                [result appendCharacter:(unichar)0x1E];
             [result appendString:value];
         }
         return result;
@@ -2463,7 +2463,7 @@
                 NSString *value = [self valueOfField:key inherit:([key 
isNoteField] == NO)];
                 if ([NSString isEmptyString:value] == NO) {
                     if ([result length])
-                        [result appendFormat:@"%C", (unichar)0x1E];
+                        [result appendCharacter:(unichar)0x1E];
                     [result appendString:value];
                 }
             }
@@ -2478,7 +2478,7 @@
                 value = [thePubFields objectForKey:key];
                 if ([NSString isEmptyString:value] == NO) {
                     if ([result length])
-                        [result appendFormat:@"%C", (unichar)0x1E];
+                        [result appendCharacter:(unichar)0x1E];
                     [result appendString:value];
                 }
             }

Modified: trunk/bibdesk/NSNumber_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSNumber_BDSKExtensions.m     2024-01-16 18:51:22 UTC (rev 
28624)
+++ trunk/bibdesk/NSNumber_BDSKExtensions.m     2024-01-16 19:15:30 UTC (rev 
28625)
@@ -86,11 +86,13 @@
 - (NSString *)alphaCounterValue{
     NSMutableString *string = [NSMutableString string];
     NSUInteger letter, number = [self unsignedIntegerValue];
+    unichar ch;
     
     while (number > 0) {
         letter = (number - 1) % 26;
         number = (number - 1)  / 26;
-        [string insertString:[NSString stringWithFormat:@"%C", (unichar)('a' + 
letter)] atIndex:0];
+        ch = (unichar)('a' + letter);
+        [string insertString:[NSString stringWithCharacters:&ch length:1] 
atIndex:0];
     }
     return string;
 }
@@ -98,6 +100,7 @@
 - (NSString *)greekCounterValue{
     NSMutableString *string = [NSMutableString string];
     NSUInteger letter, number = [self unsignedIntegerValue];
+    unichar ch;
     
     while (number > 0) {
         letter = (number - 1) % 24;
@@ -104,7 +107,8 @@
         if (letter > 16)
             letter++;
         number = (number - 1) / 24;
-        [string insertString:[NSString stringWithFormat:@"%C", 
(unichar)(0x03b1 + letter)] atIndex:0];
+        ch = (unichar)(0x03b1 + letter);
+        [string insertString:[NSString stringWithCharacters:&ch length:1] 
atIndex:0];
     }
     return string;
 }

Modified: trunk/bibdesk/NSScanner_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSScanner_BDSKExtensions.m    2024-01-16 18:51:22 UTC (rev 
28624)
+++ trunk/bibdesk/NSScanner_BDSKExtensions.m    2024-01-16 19:15:30 UTC (rev 
28625)
@@ -37,6 +37,7 @@
  */
 
 #import "NSScanner_BDSKExtensions.h"
+#import "NSString_BDSKExtensions.h"
 
 
 @implementation NSScanner (BDSKExtensions)
@@ -116,7 +117,7 @@
                 else if (ch == '\\')
                     [tmpString appendString:@"\\"];
                 else // or should we raise an exception?
-                    [tmpString appendFormat:@"%C", ch];
+                    [tmpString appendCharacter:ch];
             } else if (ch == '"') {
                 CFStringTrimWhitespace((__bridge CFMutableStringRef)tmpString);
                 tmpObject = tmpString;

Modified: trunk/bibdesk/NSString_BDSKExtensions.h
===================================================================
--- trunk/bibdesk/NSString_BDSKExtensions.h     2024-01-16 18:51:22 UTC (rev 
28624)
+++ trunk/bibdesk/NSString_BDSKExtensions.h     2024-01-16 19:15:30 UTC (rev 
28625)
@@ -532,6 +532,7 @@
 - (void)deleteUnescapedCharactersInCharacterSet:(NSCharacterSet *)characterSet;
 - (void)replaceOccurrencesOfCharactersInSet:(NSCharacterSet *)set 
withString:(NSString *)replaceString;
 - (void)replaceComposedCharacters;
+- (void)appendCharacter:(unichar)ch;
 - (void)appendStrings:(NSString *)first, ...;
 - (void)backslashEscapeCharactersInSet:(NSCharacterSet *)charSet;
 - (void)backslashUnescapeCharactersInSet:(NSCharacterSet *)charSet;

Modified: trunk/bibdesk/NSString_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSString_BDSKExtensions.m     2024-01-16 18:51:22 UTC (rev 
28624)
+++ trunk/bibdesk/NSString_BDSKExtensions.m     2024-01-16 19:15:30 UTC (rev 
28625)
@@ -81,6 +81,7 @@
 #import "NSFileManager_BDSKExtensions.h"
 #import "NSAttributedString_BDSKExtensions.h"
 #import "NSData_BDSKExtensions.h"
+#import "NSString_BDSKExtensions.h"
 
 
 @implementation NSString (BDSKExtensions)
@@ -94,8 +95,10 @@
 + (NSString *)emdashString; // '---'
 {
     static NSString *string = nil;
-    if (string == nil)
-        string = [self stringWithFormat:@"%C", (unichar)0x2014];
+    if (string == nil) {
+        unichar ch = (unichar)0x2014;
+        string = [self stringWithCharacters:&ch length:1];
+    }
     return string;
 }
 
@@ -103,8 +106,10 @@
 + (NSString *)endashString; // '--'
 {
     static NSString *string = nil;
-    if (string == nil)
-        string = [self stringWithFormat:@"%C", (unichar)0x2013];
+    if (string == nil) {
+        unichar ch = (unichar)0x2013;
+        string = [self stringWithCharacters:&ch length:1];
+    }
     return string;
 }
 
@@ -112,8 +117,10 @@
 + (NSString *)commandKeyIndicatorString;
 {
     static NSString *string = nil;
-    if (string == nil)
-        string = [self stringWithFormat:@"%C", (unichar)0x2318];
+    if (string == nil) {
+        unichar ch = (unichar)0x2318;
+        string = [self stringWithCharacters:&ch length:1];
+    }
     return string;
 }
 
@@ -121,8 +128,10 @@
 + (NSString *)controlKeyIndicatorString;
 {
     static NSString *string = nil;
-    if (string == nil)
-        string = [self stringWithFormat:@"%C", (unichar)0x2303];
+    if (string == nil) {
+        unichar ch = (unichar)0x2303;
+        string = [self stringWithCharacters:&ch length:1];
+    }
     return string;
 }
 
@@ -130,8 +139,10 @@
 + (NSString *)alternateKeyIndicatorString;
 {
     static NSString *string = nil;
-    if (string == nil)
-        string = [self stringWithFormat:@"%C", (unichar)0x2325];
+    if (string == nil) {
+        unichar ch = (unichar)0x2325;
+        string = [self stringWithCharacters:&ch length:1];
+    }
     return string;
 }
 
@@ -139,8 +150,10 @@
 + (NSString *)shiftKeyIndicatorString;
 {
     static NSString *string = nil;
-    if (string == nil)
-        string = [self stringWithFormat:@"%C", (unichar)0x21E7];
+    if (string == nil) {
+        unichar ch = (unichar)0x21E7;
+        string = [self stringWithCharacters:&ch length:1];
+    }
     return string;
 }
 
@@ -741,7 +754,7 @@
                 if (mString)
                 {   if (in_verb)
                 {   
-                    [mString appendFormat:@"%c", ch != '\0' ? ch : ' '];
+                    [mString appendCharacter:ch != '\0' ? ch : ' '];
                     if (   special && freport != NULL && option_warn
                            && v < NR_CH_M)
                     {   fprintf(freport, "%s (%ld) : ", html_fn, (long)ln);
@@ -768,7 +781,7 @@
                         else if (ch == '\\')
                             [mString appendFormat:@"\\%c", ch];
                         else if (ch != '\0')
-                            [mString appendFormat:@"%c", ch];
+                            [mString appendCharacter:ch];
                     }
                     else if (special)
                     {   char *o = ch_table[v].tex_ch;
@@ -796,7 +809,7 @@
                     {   if (ch == '#' || ch == '%')
                             [mString appendFormat:@"\\%c", ch];
                         else
-                            [mString appendFormat:@"%c", ch];
+                            [mString appendCharacter:ch];
                     }
                     else
                     {   switch(ch)
@@ -813,7 +826,7 @@
                                        case '|' : [mString 
appendString:@"{$|$}"]; break;
                                        case '\\': [mString 
appendString:@"{$\\backslash$}"]; break;
                                        case '&' : [mString 
appendString:@"\\&"]; break;
-                                        default: [mString appendFormat:@"%c", 
ch]; break;
+                        default: [mString appendCharacter:ch]; break;
                     }
                     }
                 }
@@ -1782,7 +1795,7 @@
                 // ignore escaped newlines between arguments, as they should 
be considered whitespace
                 [scanner scanCharactersFromSet:[NSCharacterSet 
newlineCharacterSet] intoString:NULL];
             else // real escaped character, just add the character, so we can 
ignore it if it is a special character
-                [currArg appendFormat:@"%C", ch];
+                [currArg appendCharacter:ch];
         } else if ([quoteChars characterIsMember:ch]) {
             // quoted part of an argument, scan up to the matching quote
             if ([scanner scanUpToCharactersFromSet:[NSCharacterSet 
characterSetWithRange:NSMakeRange(ch, 1)] intoString:&s])
@@ -1884,7 +1897,7 @@
         }
         if([scanner scanCharacter:&ch] == NO)
             break;
-        [returnString appendFormat:@"%C", ch];
+        [returnString appendCharacter:ch];
         location = [scanner scanLocation];
         if(location > 0 && [self characterAtIndex:location - 1] == '\\')
             continue;
@@ -2002,6 +2015,10 @@
     BDReplaceComposedCharacters((__bridge CFMutableStringRef)self);
 }
 
+- (void)appendCharacter:(unichar)ch {
+    CFStringAppendCharacters((__bridge CFMutableStringRef)self, &ch, 1);
+}
+
 // This method is copied from NSMutableString-OFStringExtensions.m
 - (void)appendStrings:(NSString *)first, ... {
     va_list argList;

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to