[macruby-changes] [1733] MacRuby/branches/experimental/encoding.c

source_changes at macosforge.org source_changes at macosforge.org
Thu Jun 4 17:03:18 PDT 2009


Revision: 1733
          http://trac.macosforge.org/projects/ruby/changeset/1733
Author:   lsansonetti at apple.com
Date:     2009-06-04 17:03:17 -0700 (Thu, 04 Jun 2009)
Log Message:
-----------
fixed ByteString#encoding to always return US_ASCII (for now)

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

Modified: MacRuby/branches/experimental/encoding.c
===================================================================
--- MacRuby/branches/experimental/encoding.c	2009-06-05 00:02:55 UTC (rev 1732)
+++ MacRuby/branches/experimental/encoding.c	2009-06-05 00:03:17 UTC (rev 1733)
@@ -498,17 +498,20 @@
 rb_encoding *
 rb_enc_get(VALUE obj)
 {
-    int type = TYPE(obj);
-    if (type == T_STRING) {
-	CFStringEncoding enc = CFStringGetFastestEncoding((CFStringRef)obj);
-	if (enc == kCFStringEncodingInvalidId)
-	    return NULL;
-	return rb_enc_to_enc_ptr(enc_make(&enc));
+    CFStringEncoding enc = kCFStringEncodingInvalidId;
+
+    switch (TYPE(obj)) {
+	case T_STRING:
+	    enc = *(VALUE *)obj == rb_cByteString
+		? kCFStringEncodingASCII
+		: CFStringGetFastestEncoding((CFStringRef)obj);
+	    break;
     }
-    else {
-	/* TODO */
+
+    if (enc == kCFStringEncodingInvalidId) {
 	return NULL;
     }
+    return rb_enc_to_enc_ptr(enc_make(&enc));
 }
 
 rb_encoding *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090604/5b9064ba/attachment.html>


More information about the macruby-changes mailing list