[macruby-changes] [196] MacRuby/trunk

source_changes at macosforge.org source_changes at macosforge.org
Thu May 15 17:36:24 PDT 2008


Revision: 196
          http://trac.macosforge.org/projects/ruby/changeset/196
Author:   lsansonetti at apple.com
Date:     2008-05-15 17:36:24 -0700 (Thu, 15 May 2008)

Log Message:
-----------
fixing regexp parsing errors, adding ASCII-8BIT -> ASCII encoding shortcut: sample/test.rb now passes all tests

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

Modified: MacRuby/trunk/encoding.c
===================================================================
--- MacRuby/trunk/encoding.c	2008-05-16 00:11:05 UTC (rev 195)
+++ MacRuby/trunk/encoding.c	2008-05-16 00:36:24 UTC (rev 196)
@@ -1045,9 +1045,14 @@
 static VALUE
 enc_find2(VALUE enc)
 {
+    CFStringRef str;
     CFStringEncoding e;
-    
-    e = CFStringConvertIANACharSetNameToEncoding((CFStringRef)StringValue(enc));
+
+    str = (CFStringRef)StringValue(enc);
+    if (CFEqual(str, CFSTR("ASCII-8BIT")))
+	str = CFSTR("ASCII");
+
+    e = CFStringConvertIANACharSetNameToEncoding(str);
     if (e == kCFStringEncodingInvalidId)
 	return Qnil;
     return enc_make(&e);
@@ -1415,14 +1420,14 @@
     CFStringRef str;
     if (enc != NULL 
 	&& (str = CFStringConvertEncodingToIANACharSetName(*enc)) != NULL)
-	return str;
+	return (VALUE)str;
     return Qnil;
 }
 
 const char *
 rb_enc_name(rb_encoding *enc)
 {
-    CFStringRef str = rb_enc_name2(enc);
+    VALUE str = rb_enc_name2(enc);
     return str == Qnil ? NULL : RSTRING_CPTR(str);
 }
 

Modified: MacRuby/trunk/re.c
===================================================================
--- MacRuby/trunk/re.c	2008-05-16 00:11:05 UTC (rev 195)
+++ MacRuby/trunk/re.c	2008-05-16 00:36:24 UTC (rev 196)
@@ -181,9 +181,6 @@
     *option = 0;
 
     switch (c) {
-      case 'n':
-        *kcode = -1;
-        return (*option = ARG_ENCODING_NONE);
 #if !WITH_OBJC
       case 'e':
 	*kcode = rb_enc_find_index("EUC-JP");
@@ -194,7 +191,14 @@
       case 'u':
 	*kcode = rb_enc_find_index("UTF-8");
 	break;
+#else
+      case 'e':
+      case 's':
+      case 'u':
 #endif
+      case 'n':
+        *kcode = -1;
+        return (*option = ARG_ENCODING_NONE);
       default:
 	*kcode = -1;
 	return (*option = char_to_option(c));
@@ -2233,7 +2237,7 @@
     VALUE unescaped;
     rb_encoding *fixed_enc = 0;
 #if WITH_OBJC
-    rb_encoding *a_enc = NULL;
+    rb_encoding *a_enc = enc;
 #else
     rb_encoding *a_enc = rb_ascii8bit_encoding();
 #endif

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080515/7a9db280/attachment.htm 


More information about the macruby-changes mailing list