ruby-changes:19215
From: sorah <ko1@a...>
Date: Sun, 10 Apr 2011 00:15:01 +0900 (JST)
Subject: [ruby-changes:19215] Ruby:r31254 (trunk): * ext/stringio/stringio.c (strio_each, strio_readlines):
sorah 2011-04-10 00:10:03 +0900 (Sun, 10 Apr 2011) New Revision: 31254 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31254 Log: * ext/stringio/stringio.c (strio_each, strio_readlines): Use `NUM2LONG` instead of `FIX2INT`. Fixes [ruby-dev:43395]. Modified files: trunk/ChangeLog trunk/ext/stringio/stringio.c Index: ChangeLog =================================================================== --- ChangeLog (revision 31253) +++ ChangeLog (revision 31254) @@ -1,3 +1,8 @@ +Sat Apr 9 23:31:47 2011 Shota Fukumori <sorah@t...> + + * ext/stringio/stringio.c (strio_each, strio_readlines): + Use `NUM2LONG` instead of `FIX2INT`. Fixes [ruby-dev:43395]. + Sat Apr 9 23:22:27 2011 Shota Fukumori <sorah@t...> * ext/stringio/stringio.c (strio_each): Index: ext/stringio/stringio.c =================================================================== --- ext/stringio/stringio.c (revision 31253) +++ ext/stringio/stringio.c (revision 31254) @@ -1069,8 +1069,8 @@ RETURN_ENUMERATOR(self, argc, argv); - if(argc > 0 && TYPE(argv[argc-1]) == T_FIXNUM && - FIX2INT(argv[argc-1]) == 0) { + if(argc > 0 && !NIL_P(argv[argc-1]) && NIL_P(rb_check_string_type(argv[argc-1])) && + NUM2LONG(argv[argc-1]) == 0) { rb_raise(rb_eArgError, "invalid limit: 0 for each_line"); } @@ -1094,8 +1094,8 @@ struct StringIO *ptr = StringIO(self); VALUE ary = rb_ary_new(), line; - if(argc > 0 && TYPE(argv[argc-1]) == T_FIXNUM && - FIX2INT(argv[argc-1]) == 0) { + if(argc > 0 && !NIL_P(argv[argc-1]) && NIL_P(rb_check_string_type(argv[argc-1])) && + NUM2LONG(argv[argc-1]) == 0) { rb_raise(rb_eArgError, "invalid limit: 0 for readlines"); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/