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

ruby-changes:7240

From: akr <ko1@a...>
Date: Fri, 22 Aug 2008 02:45:22 +0900 (JST)
Subject: [ruby-changes:7240] Ruby:r18759 (trunk): * io.c (rb_io_extract_modeenc): use rb_check_to_integer to test

akr	2008-08-22 02:44:38 +0900 (Fri, 22 Aug 2008)

  New Revision: 18759

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

  Log:
    * io.c (rb_io_extract_modeenc): use rb_check_to_integer to test
      integer.

  Modified files:
    trunk/ChangeLog
    trunk/io.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18758)
+++ ChangeLog	(revision 18759)
@@ -1,3 +1,8 @@
+Fri Aug 22 02:42:35 2008  Tanaka Akira  <akr@f...>
+
+	* io.c (rb_io_extract_modeenc): use rb_check_to_integer to test
+	  integer.
+
 Fri Aug 22 02:25:04 2008  Tanaka Akira  <akr@f...>
 
 	* iseq.c (iseq_inspect): don't raise on uninitialized object.
Index: io.c
===================================================================
--- io.c	(revision 18758)
+++ io.c	(revision 18759)
@@ -3813,6 +3813,7 @@
     int modenum, flags;
     rb_encoding *enc, *enc2;
     int has_enc = 0;
+    VALUE intmode;
 
     enc = NULL;
     enc2 = NULL;
@@ -3821,11 +3822,11 @@
         flags = FMODE_READABLE;
         modenum = O_RDONLY;
     }
-    else if (FIXNUM_P(mode)) {
-        modenum = FIX2INT(mode);
+    else if (!NIL_P(intmode = rb_check_to_integer(mode, "to_int"))) {
+        modenum = NUM2INT(intmode);
         flags = rb_io_modenum_flags(modenum);
     }
-    else { /* xxx: Bignum, to_int */
+    else {
         const char *p;
         SafeStringValue(mode);
         p = StringValueCStr(mode);

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

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