Revision: 5055
          http://skim-app.svn.sourceforge.net/skim-app/?rev=5055&view=rev
Author:   hofman
Date:     2008-12-13 12:27:01 +0000 (Sat, 13 Dec 2008)

Log Message:
-----------
reorganize check for template comparison condition

Modified Paths:
--------------
    trunk/SKTemplateParser.m

Modified: trunk/SKTemplateParser.m
===================================================================
--- trunk/SKTemplateParser.m    2008-12-12 18:18:50 UTC (rev 5054)
+++ trunk/SKTemplateParser.m    2008-12-13 12:27:01 UTC (rev 5055)
@@ -39,7 +39,6 @@
 #import "SKTemplateParser.h"
 #import "SKTemplateTag.h"
 #import "NSCharacterSet_SKExtensions.h"
-#import "NSString_SKExtensions.h"
 #import "SKRuntime.h"
 
 #define START_TAG_OPEN_DELIM            @"<$"
@@ -186,17 +185,31 @@
 }
 
 static inline BOOL matchesCondition(NSString *keyValue, NSString *matchString, 
SKTemplateTagMatchType matchType) {
-    switch (matchType) {
-        case SKTemplateTagMatchEqual:
-            return [matchString isEqualToString:@""] ? NO == [keyValue 
isNotEmpty] : [[keyValue templateStringValue] ?: @"" 
caseInsensitiveCompare:matchString] == NSOrderedSame;
-        case SKTemplateTagMatchContain:
-            return [matchString isEqualToString:@""] ? NO == [keyValue 
isNotEmpty] : [[keyValue templateStringValue] ?: @"" rangeOfString:matchString 
options:NSCaseInsensitiveSearch].location != NSNotFound;
-        case SKTemplateTagMatchSmaller:
-            return [matchString isEqualToString:@""] ? NO : [[keyValue 
templateStringValue] ?: @"" localizedCaseInsensitiveNumericCompare:matchString] 
== NSOrderedAscending;
-        case SKTemplateTagMatchSmallerOrEqual:
-            return [matchString isEqualToString:@""] ? NO == [keyValue 
isNotEmpty] : [[keyValue templateStringValue] ?: @"" 
localizedCaseInsensitiveNumericCompare:matchString] != NSOrderedDescending;
-        default:
-            return [keyValue isNotEmpty];
+    if ([matchString isEqualToString:@""]) {
+        switch (matchType) {
+            case SKTemplateTagMatchEqual:
+            case SKTemplateTagMatchContain:
+            case SKTemplateTagMatchSmallerOrEqual:
+                return NO == [keyValue isNotEmpty];
+            case SKTemplateTagMatchSmaller:
+                return NO;
+            default:
+                return [keyValue isNotEmpty];
+        }
+    } else {
+        NSString *stringValue = [keyValue templateStringValue] ?: @"";
+        switch (matchType) {
+            case SKTemplateTagMatchEqual:
+                return [stringValue caseInsensitiveCompare:matchString] == 
NSOrderedSame;
+            case SKTemplateTagMatchContain:
+                return [stringValue rangeOfString:matchString 
options:NSCaseInsensitiveSearch].location != NSNotFound;
+            case SKTemplateTagMatchSmaller:
+                return [stringValue compare:matchString 
options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedAscending;
+            case SKTemplateTagMatchSmallerOrEqual:
+                return [stringValue compare:matchString 
options:NSCaseInsensitiveSearch | NSNumericSearch] != NSOrderedDescending;
+            default:
+                return NO;
+        }
     }
 }
 


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

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to