[macruby-changes] [757] MacRuby/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Tue Nov 25 17:50:00 PST 2008
Revision: 757
http://trac.macosforge.org/projects/ruby/changeset/757
Author: lsansonetti at apple.com
Date: 2008-11-25 17:50:00 -0800 (Tue, 25 Nov 2008)
Log Message:
-----------
fixing some problems with bytestrings, in the interim the bytestring support is rewritten (patch provided by Vincent Isambart)
Modified Paths:
--------------
MacRuby/trunk/re.c
MacRuby/trunk/string.c
Modified: MacRuby/trunk/re.c
===================================================================
--- MacRuby/trunk/re.c 2008-11-25 03:13:55 UTC (rev 756)
+++ MacRuby/trunk/re.c 2008-11-26 01:50:00 UTC (rev 757)
@@ -3196,6 +3196,7 @@
}
v = rb_reg_s_quote(Qnil, e);
}
+#if !WITH_OBJC
if (has_ascii_incompat) {
if (has_asciionly) {
rb_raise(rb_eArgError, "ASCII incompatible encoding: %s",
@@ -3206,6 +3207,7 @@
rb_enc_name(has_ascii_incompat), rb_enc_name(has_ascii_compat_fixed));
}
}
+#endif
#if !WITH_OBJC
if (i == 0) {
Modified: MacRuby/trunk/string.c
===================================================================
--- MacRuby/trunk/string.c 2008-11-25 03:13:55 UTC (rev 756)
+++ MacRuby/trunk/string.c 2008-11-26 01:50:00 UTC (rev 757)
@@ -125,8 +125,8 @@
false,
kCFAllocatorNull);
if (bytestr != NULL) {
+ CFStringReplaceAll((CFMutableStringRef)str, (CFStringRef)bytestr);
if (CFStringGetLength(bytestr) == datalen) {
- CFStringReplaceAll((CFMutableStringRef)str, (CFStringRef)bytestr);
rb_str_cfdata_set(str, NULL);
}
CFRelease(bytestr);
@@ -816,6 +816,7 @@
data = (CFMutableDataRef)rb_str_cfdata2(str);
if (data != NULL) {
CFDataAppendBytes(data, (const UInt8 *)ptr, len);
+ RSTRING_SYNC(str);
}
else {
long slen;
@@ -917,6 +918,7 @@
CFDataGetLength(data));
}
}
+ RSTRING_SYNC(str);
return str;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20081125/ab2ed542/attachment.html>
More information about the macruby-changes
mailing list