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

source_changes at macosforge.org source_changes at macosforge.org
Tue May 26 13:10:55 PDT 2009


Revision: 1599
          http://trac.macosforge.org/projects/ruby/changeset/1599
Author:   lsansonetti at apple.com
Date:     2009-05-26 13:10:54 -0700 (Tue, 26 May 2009)
Log Message:
-----------
support str_new() with a given len lesser than the given string len so that it does not create an unnecessary bytestring

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

Modified: MacRuby/branches/experimental/string.c
===================================================================
--- MacRuby/branches/experimental/string.c	2009-05-26 18:48:09 UTC (rev 1598)
+++ MacRuby/branches/experimental/string.c	2009-05-26 20:10:54 UTC (rev 1599)
@@ -114,10 +114,13 @@
     if (ptr != NULL && len > 0) {
 	const long slen = strlen(ptr);
 
-	if (slen == len) {
+	if (len <= slen) {
 	    str = str_alloc(klass);
 	    CFStringAppendCString((CFMutableStringRef)str, ptr, 
 		    kCFStringEncodingUTF8);
+	    if (len < slen) {
+		CFStringPad((CFMutableStringRef)str, NULL, len, 0);
+	    }
 	    if (CFStringGetLength((CFStringRef)str) != len) {
 		str = rb_bytestring_new_with_data((const UInt8 *)ptr, len);
 	    }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090526/92b8f14b/attachment-0001.html>


More information about the macruby-changes mailing list