[macruby-changes] [1737] MacRuby/branches/experimental/string.c

source_changes at macosforge.org source_changes at macosforge.org
Thu Jun 4 18:01:19 PDT 2009


Revision: 1737
          http://trac.macosforge.org/projects/ruby/changeset/1737
Author:   lsansonetti at apple.com
Date:     2009-06-04 18:01:18 -0700 (Thu, 04 Jun 2009)
Log Message:
-----------
some fixes for String#swapcase!: check if the incoming string can be modified + return nil in case the given string is empty (means no change)

Modified Paths:
--------------
    MacRuby/branches/experimental/string.c

Modified: MacRuby/branches/experimental/string.c
===================================================================
--- MacRuby/branches/experimental/string.c	2009-06-05 00:48:48 UTC (rev 1736)
+++ MacRuby/branches/experimental/string.c	2009-06-05 01:01:18 UTC (rev 1737)
@@ -2830,9 +2830,11 @@
     UniChar *buffer;
     bool changed;
 
+    rb_str_modify(str);
+
     n = CFStringGetLength((CFStringRef)str);
     if (n == 0) {
-	return rb_str_dup(str);
+	return Qnil;
     }
    
     buffer = (UniChar *)CFStringGetCharactersPtr((CFStringRef)str);
@@ -2858,7 +2860,8 @@
 	return Qnil;
     }
     CFStringDelete((CFMutableStringRef)str, CFRangeMake(0, n));
-    CFStringAppendCharacters((CFMutableStringRef)str, (const UniChar *)buffer, n);
+    CFStringAppendCharacters((CFMutableStringRef)str,
+	    (const UniChar *)buffer, n);
     return str;
 }
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090604/884499da/attachment.html>


More information about the macruby-changes mailing list