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/