Revision: 18171
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=18171&view=rev
Author:   hofman
Date:     2011-10-11 21:02:17 +0000 (Tue, 11 Oct 2011)
Log Message:
-----------
fix range checks in hyphen replacement methods

Modified Paths:
--------------
    trunk/bibdesk/NSString_BDSKExtensions.m

Modified: trunk/bibdesk/NSString_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSString_BDSKExtensions.m     2011-10-11 06:35:57 UTC (rev 
18170)
+++ trunk/bibdesk/NSString_BDSKExtensions.m     2011-10-11 21:02:17 UTC (rev 
18171)
@@ -309,8 +309,11 @@
         NSMutableString *mutString = [[self mutableCopy] autorelease];
         do {
             if ((range.location == 0 || [mutString 
characterAtIndex:range.location - 1] != '-') &&
-                (NSMaxRange(range) == len || [mutString 
characterAtIndex:NSMaxRange(range) + 1] != '-'))
+                (NSMaxRange(range) == len || [mutString 
characterAtIndex:NSMaxRange(range)] != '-')) {
                 [mutString replaceCharactersInRange:range withString:[NSString 
endashString]];
+                len -= range.length - 1;
+                range.length = 1;
+            }
             range = [mutString rangeOfString:doubleHyphen options:0 
range:NSMakeRange(NSMaxRange(range), len - NSMaxRange(range))];
         } while (range.location != NSNotFound);
         string = mutString;
@@ -327,8 +330,11 @@
         NSMutableString *mutString = [[self mutableCopy] autorelease];
         do {
             if ((range.location == 0 || [mutString 
characterAtIndex:range.location - 1] != '-') &&
-                (NSMaxRange(range) == len || [mutString 
characterAtIndex:NSMaxRange(range) + 1] != '-'))
+                (NSMaxRange(range) == len || [mutString 
characterAtIndex:NSMaxRange(range)] != '-')) {
                 [mutString replaceCharactersInRange:range withString:[NSString 
emdashString]];
+                len -= range.length - 1;
+                range.length = 1;
+            }
             range = [mutString rangeOfString:tripleHyphen options:0 
range:NSMakeRange(NSMaxRange(range), len - NSMaxRange(range))];
         } while (range.location != NSNotFound);
         string = mutString;

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


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to