[macruby-changes] [3727] MacRuby/branches/icu/encoding.c

source_changes at macosforge.org source_changes at macosforge.org
Tue Mar 9 18:28:40 PST 2010


Revision: 3727
          http://trac.macosforge.org/projects/ruby/changeset/3727
Author:   lsansonetti at apple.com
Date:     2010-03-09 18:28:39 -0800 (Tue, 09 Mar 2010)
Log Message:
-----------
added #find

Modified Paths:
--------------
    MacRuby/branches/icu/encoding.c

Modified: MacRuby/branches/icu/encoding.c
===================================================================
--- MacRuby/branches/icu/encoding.c	2010-03-10 02:21:42 UTC (rev 3726)
+++ MacRuby/branches/icu/encoding.c	2010-03-10 02:28:39 UTC (rev 3727)
@@ -69,6 +69,18 @@
 }
 
 static VALUE
+mr_enc_s_find(VALUE klass, SEL sel, VALUE name)
+{
+    StringValue(name);
+    rb_encoding_t *enc = rb_enc_find(RSTRING_PTR(name));
+    if (enc == NULL) {
+	rb_raise(rb_eArgError, "unknown encoding name - %s",
+		RSTRING_PTR(name));
+    }
+    return (VALUE)enc;
+}
+
+static VALUE
 mr_enc_s_default_internal(VALUE klass, SEL sel)
 {
     return (VALUE)default_internal;
@@ -260,22 +272,22 @@
     rb_objc_define_method(rb_cEncoding, "dummy?", mr_enc_dummy_p, 0);
     rb_objc_define_method(rb_cEncoding, "ascii_compatible?",
 	    mr_enc_ascii_compatible_p, 0);
-    rb_objc_define_method(CLASS_OF(rb_cEncoding), "list", mr_enc_s_list, 0);
-    rb_objc_define_method(CLASS_OF(rb_cEncoding), "name_list",
+    rb_objc_define_method(*(VALUE *)rb_cEncoding, "list", mr_enc_s_list, 0);
+    rb_objc_define_method(*(VALUE *)rb_cEncoding, "name_list",
 	    mr_enc_s_name_list, 0);
-    rb_objc_define_method(CLASS_OF(rb_cEncoding), "aliases",
+    rb_objc_define_method(*(VALUE *)rb_cEncoding, "aliases",
 	    mr_enc_s_aliases, 0);
-    //rb_define_singleton_method(rb_cEncoding, "find", enc_find, 1);
-    rb_objc_define_method(CLASS_OF(rb_cEncoding), "compatible?",
+    rb_objc_define_method(*(VALUE *)rb_cEncoding, "find", mr_enc_s_find, 1);
+    rb_objc_define_method(*(VALUE *)rb_cEncoding, "compatible?",
 	    mr_enc_s_is_compatible, 2); // in string.c
 
     //rb_define_method(rb_cEncoding, "_dump", enc_dump, -1);
     //rb_define_singleton_method(rb_cEncoding, "_load", enc_load, 1);
 
-    rb_objc_define_method(CLASS_OF(rb_cEncoding), "default_external",
+    rb_objc_define_method(*(VALUE *)rb_cEncoding, "default_external",
 	    mr_enc_s_default_external, 0);
     //rb_define_singleton_method(rb_cEncoding, "default_external=", set_default_external, 1);
-    rb_objc_define_method(CLASS_OF(rb_cEncoding), "default_internal",
+    rb_objc_define_method(*(VALUE *)rb_cEncoding, "default_internal",
 	    mr_enc_s_default_internal, 0);
     //rb_define_singleton_method(rb_cEncoding, "default_internal=", set_default_internal, 1);
     //rb_define_singleton_method(rb_cEncoding, "locale_charmap", rb_locale_charmap, 0);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100309/db0368d3/attachment.html>


More information about the macruby-changes mailing list