[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