Author: mlytwyn
Date: Tue Oct 20 15:57:03 2015
New Revision: 39083

URL: http://svn.gna.org/viewcvs/gnustep?rev=39083&view=rev
Log:
Cocoa allows NSLiteralSearch with NSCaseInsensitiveSearch

Modified:
    libs/base/branches/gnustep_testplant_branch/Source/NSString.m

Modified: libs/base/branches/gnustep_testplant_branch/Source/NSString.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/branches/gnustep_testplant_branch/Source/NSString.m?rev=39083&r1=39082&r2=39083&view=diff
==============================================================================
--- libs/base/branches/gnustep_testplant_branch/Source/NSString.m       
(original)
+++ libs/base/branches/gnustep_testplant_branch/Source/NSString.m       Tue Oct 
20 15:57:03 2015
@@ -2421,9 +2421,20 @@
         }
       else
         {
+          NSString *selfString = self;
+          NSString *otherString = aString;
+          
+          if ((mask & NSCaseInsensitiveSearch) == NSCaseInsensitiveSearch)
+            {
+              selfString = [[self copy] autorelease];
+              otherString = [[aString copy] autorelease];
+              selfString = [selfString lowercaseString];
+              otherString = [otherString lowercaseString];
+            }
+          
           GS_BEGINITEMBUF(charsOther, (countOther*sizeof(unichar)), unichar)
 
-          [aString getCharacters: charsOther range: NSMakeRange(0, 
countOther)];
+          [otherString getCharacters: charsOther range: NSMakeRange(0, 
countOther)];
           if ((mask & NSAnchoredSearch) == NSAnchoredSearch
             || searchRange.length == countOther)
             {
@@ -2439,7 +2450,7 @@
                 {
                   searchRange.length = countOther;
                 }
-              [self getCharacters: charsSelf range: searchRange];
+              [selfString getCharacters: charsSelf range: searchRange];
               if (memcmp(&charsSelf[0], &charsOther[0],
                 countOther * sizeof(unichar)) == 0)
                 {
@@ -2469,7 +2480,7 @@
                */
               GS_BEGINITEMBUF2(charsSelf, (searchRange.length*sizeof(unichar)),
                 unichar)
-              [self getCharacters: charsSelf range: searchRange];
+              [selfString getCharacters: charsSelf range: searchRange];
 
               if ((mask & NSBackwardsSearch) == NSBackwardsSearch)
                 {


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to