[macruby-changes] [3551] MacRuby/branches/icu/string.c
source_changes at macosforge.org
source_changes at macosforge.org
Tue Feb 16 01:33:22 PST 2010
Revision: 3551
http://trac.macosforge.org/projects/ruby/changeset/3551
Author: lsansonetti at apple.com
Date: 2010-02-16 01:33:19 -0800 (Tue, 16 Feb 2010)
Log Message:
-----------
more MRI functions
Modified Paths:
--------------
MacRuby/branches/icu/string.c
Modified: MacRuby/branches/icu/string.c
===================================================================
--- MacRuby/branches/icu/string.c 2010-02-16 04:11:01 UTC (rev 3550)
+++ MacRuby/branches/icu/string.c 2010-02-16 09:33:19 UTC (rev 3551)
@@ -24,6 +24,8 @@
VALUE rb_cNSMutableString;
VALUE rb_cRubyString;
+VALUE rb_fs;
+
static void
str_update_flags_utf16(string_t *self)
{
@@ -1275,12 +1277,6 @@
}
static VALUE
-mr_str_not_equal(VALUE self, SEL sel, VALUE compared_to)
-{
- return RTEST(mr_str_equal(self, sel, compared_to)) ? Qfalse : Qtrue;
-}
-
-static VALUE
mr_str_include(VALUE self, SEL sel, VALUE searched)
{
return str_include_string(RSTR(self), str_need_string(searched))
@@ -1348,7 +1344,6 @@
rb_objc_define_method(rb_cRubyString, "<<", mr_str_concat, 1);
rb_objc_define_method(rb_cRubyString, "concat", mr_str_concat, 1);
rb_objc_define_method(rb_cRubyString, "==", mr_str_equal, 1);
- rb_objc_define_method(rb_cRubyString, "!=", mr_str_not_equal, 1);
rb_objc_define_method(rb_cRubyString, "include?", mr_str_include, 1);
rb_objc_define_method(rb_cRubyString, "to_s", mr_str_to_s, 0);
rb_objc_define_method(rb_cRubyString, "to_str", mr_str_to_s, 0);
@@ -1363,6 +1358,10 @@
// purpose
rb_objc_define_method(rb_cRubyString, "stored_in_uchars?",
mr_str_is_stored_in_uchars, 0);
+
+ rb_fs = Qnil;
+ rb_define_variable("$;", &rb_fs);
+ rb_define_variable("$-F", &rb_fs);
}
// MRI C-API compatibility.
@@ -1482,6 +1481,12 @@
}
VALUE
+rb_str_to_str(VALUE str)
+{
+ return rb_convert_type(str, T_STRING, "String", "to_str");
+}
+
+VALUE
rb_obj_as_string(VALUE obj)
{
if (TYPE(obj) == T_STRING || TYPE(obj) == T_SYMBOL) {
@@ -1566,6 +1571,12 @@
}
VALUE
+rb_str_buf_cat_ascii(VALUE str, const char *cstr)
+{
+ return rb_str_buf_cat2(str, cstr);
+}
+
+VALUE
rb_str_buf_append(VALUE str, VALUE str2)
{
if (IS_RSTR(str)) {
@@ -1605,3 +1616,30 @@
{
abort(); // TODO
}
+
+VALUE
+rb_str_equal(VALUE str, VALUE str2)
+{
+ if (IS_RSTR(str)) {
+ return mr_str_equal(str, 0, str2);
+ }
+ return CFEqual((CFStringRef)str, (CFStringRef)str2) ? Qtrue : Qfalse;
+}
+
+VALUE
+rb_str_dup(VALUE str)
+{
+ if (IS_RSTR(str)) {
+ return (VALUE)str_dup(str);
+ }
+ abort(); // TODO
+}
+
+int
+rb_memhash(const void *ptr, long len)
+{
+ CFDataRef data = CFDataCreate(NULL, (const UInt8 *)ptr, len);
+ int code = CFHash(data);
+ CFRelease((CFTypeRef)data);
+ return code;
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100216/7ac19f71/attachment.html>
More information about the macruby-changes
mailing list