[前][次][番号順一覧][スレッド一覧]

ruby-changes:7448

From: akr <ko1@a...>
Date: Sun, 31 Aug 2008 04:39:38 +0900 (JST)
Subject: [ruby-changes:7448] Ruby:r18967 (trunk): * transcode.c (econv_putback): make max argument optional.

akr	2008-08-31 04:39:16 +0900 (Sun, 31 Aug 2008)

  New Revision: 18967

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18967

  Log:
    * transcode.c (econv_putback): make max argument optional.

  Modified files:
    trunk/ChangeLog
    trunk/test/ruby/test_econv.rb
    trunk/transcode.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18966)
+++ ChangeLog	(revision 18967)
@@ -1,3 +1,7 @@
+Sun Aug 31 04:38:47 2008  Tanaka Akira  <akr@f...>
+
+	* transcode.c (econv_putback): make max argument optional.
+
 Sun Aug 31 04:35:21 2008  Tanaka Akira  <akr@f...>
 
 	* transcode.c (rb_econv_putback): putback from last byte.
Index: test/ruby/test_econv.rb
===================================================================
--- test/ruby/test_econv.rb	(revision 18966)
+++ test/ruby/test_econv.rb	(revision 18967)
@@ -478,7 +478,7 @@
     ret = ec.primitive_convert(src="abc\xa1def", dst="", nil, 10)
     assert_equal(:invalid_byte_sequence, ret)
     assert_equal(["abc", "ef"], [dst, src])
-    src = ec.putback(nil) + src
+    src = ec.putback + src
     assert_equal(["abc", "def"], [dst, src])
     ret = ec.primitive_convert(src, dst, nil, 10)
     assert_equal(:finished, ret)
Index: transcode.c
===================================================================
--- transcode.c	(revision 18966)
+++ transcode.c	(revision 18967)
@@ -2727,13 +2727,15 @@
 }
 
 static VALUE
-econv_putback(VALUE self, VALUE max)
+econv_putback(int argc, VALUE *argv, VALUE self)
 {
     rb_econv_t *ec = check_econv(self);
     int n;
     int putbackable;
-    VALUE str;
+    VALUE str, max;
 
+    rb_scan_args(argc, argv, "01", &max);
+
     if (NIL_P(max))
         n = rb_econv_putbackable(ec);
     else {
@@ -2834,7 +2836,7 @@
     rb_define_method(rb_cEncodingConverter, "finish", econv_finish, 0);
     rb_define_method(rb_cEncodingConverter, "primitive_errinfo", econv_primitive_errinfo, 0);
     rb_define_method(rb_cEncodingConverter, "insert_output", econv_insert_output, 1);
-    rb_define_method(rb_cEncodingConverter, "putback", econv_putback, 1);
+    rb_define_method(rb_cEncodingConverter, "putback", econv_putback, -1);
     rb_define_const(rb_cEncodingConverter, "INVALID_MASK", INT2FIX(ECONV_INVALID_MASK));
     rb_define_const(rb_cEncodingConverter, "INVALID_IGNORE", INT2FIX(ECONV_INVALID_IGNORE));
     rb_define_const(rb_cEncodingConverter, "INVALID_REPLACE", INT2FIX(ECONV_INVALID_REPLACE));

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]