[macruby-changes] [4393] MacRuby/trunk

source_changes at macosforge.org source_changes at macosforge.org
Fri Jul 30 01:20:35 PDT 2010


Revision: 4393
          http://trac.macosforge.org/projects/ruby/changeset/4393
Author:   lsansonetti at apple.com
Date:     2010-07-30 01:20:31 -0700 (Fri, 30 Jul 2010)
Log Message:
-----------
adding 2 more frightening MRI methods

Modified Paths:
--------------
    MacRuby/trunk/encoding.c
    MacRuby/trunk/string.c

Modified: MacRuby/trunk/encoding.c
===================================================================
--- MacRuby/trunk/encoding.c	2010-07-29 19:08:54 UTC (rev 4392)
+++ MacRuby/trunk/encoding.c	2010-07-30 08:20:31 UTC (rev 4393)
@@ -560,3 +560,14 @@
     assert(idx >= 0 && idx < ENCODINGS_COUNT);
     return rb_encodings[idx];
 }
+
+VALUE
+rb_enc_associate_index(VALUE obj, int idx)
+{
+    if (TYPE(obj) == T_STRING) {
+	assert(idx >= 0 && idx < ENCODINGS_COUNT);
+	rb_str_force_encoding(obj, rb_encodings[idx]);
+	return obj;
+    }
+    rb_raise(rb_eArgError, "cannot set encoding on non-string object");
+}

Modified: MacRuby/trunk/string.c
===================================================================
--- MacRuby/trunk/string.c	2010-07-29 19:08:54 UTC (rev 4392)
+++ MacRuby/trunk/string.c	2010-07-30 08:20:31 UTC (rev 4393)
@@ -6567,3 +6567,14 @@
     RSTR(str)->encoding = enc;
     return str;
 }
+
+VALUE
+rb_str_export_to_enc(VALUE str, rb_encoding *enc)
+{
+    if (!IS_RSTR(str)) {
+	rb_raise(rb_eArgError, "cannot transcode NSString");
+    }
+    return (VALUE)str_transcode(RSTR(str), RSTR(str)->encoding, enc,
+	    TRANSCODE_BEHAVIOR_RAISE_EXCEPTION,
+	    TRANSCODE_BEHAVIOR_RAISE_EXCEPTION, NULL);
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100730/754a5d6b/attachment.html>


More information about the macruby-changes mailing list