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

source_changes at macosforge.org source_changes at macosforge.org
Sun Mar 15 23:15:30 PDT 2009


Revision: 936
          http://trac.macosforge.org/projects/ruby/changeset/936
Author:   lsansonetti at apple.com
Date:     2009-03-15 23:15:30 -0700 (Sun, 15 Mar 2009)
Log Message:
-----------
str_new(): if we are given a non UTF8 string, fallback on creating a bytestring

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

Modified: MacRuby/branches/experimental/string.c
===================================================================
--- MacRuby/branches/experimental/string.c	2009-03-16 06:14:33 UTC (rev 935)
+++ MacRuby/branches/experimental/string.c	2009-03-16 06:15:30 UTC (rev 936)
@@ -119,14 +119,11 @@
 	    CFStringAppendCString((CFMutableStringRef)str, ptr, 
 		    kCFStringEncodingUTF8);
 	    if (CFStringGetLength((CFStringRef)str) != len) {
-		// XXX could this happen?
-		abort();
+		str = rb_bytestring_new_with_data((const UInt8 *)ptr, len);
 	    }
 	}
 	else {
-	    str = rb_bytestring_new();
-	    CFMutableDataRef data = rb_bytestring_wrapped_data(str);
-	    CFDataAppendBytes(data, (const UInt8 *)ptr, len);
+	    str = rb_bytestring_new_with_data((const UInt8 *)ptr, len);
 	}
     }
     else {
@@ -5254,7 +5251,7 @@
 }
 
 VALUE
-rb_bytestring_new_with_data(UInt8 *buf, long size)
+rb_bytestring_new_with_data(const UInt8 *buf, long size)
 {
     VALUE v = rb_bytestring_new();
     CFDataAppendBytes(rb_bytestring_wrapped_data(v), buf, size);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090315/880d2e19/attachment.html>


More information about the macruby-changes mailing list