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

ruby-changes:15623

From: nobu <ko1@a...>
Date: Wed, 28 Apr 2010 18:05:14 +0900 (JST)
Subject: [ruby-changes:15623] Ruby:r27532 (trunk): * time.c (time_timespec): use rb_check_funcall.

nobu	2010-04-28 18:04:51 +0900 (Wed, 28 Apr 2010)

  New Revision: 27532

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

  Log:
    * time.c (time_timespec): use rb_check_funcall.

  Modified files:
    trunk/ChangeLog
    trunk/time.c

Index: time.c
===================================================================
--- time.c	(revision 27531)
+++ time.c	(revision 27532)
@@ -2296,11 +2296,9 @@
 	break;
 
       default:
-        if (rb_respond_to(num, id_divmod)) {
-            ary = rb_check_array_type(rb_funcall(num, id_divmod, 1, INT2FIX(1)));
-            if (NIL_P(ary)) {
-                goto typeerror;
-            }
+	i = INT2FIX(1);
+	ary = rb_check_funcall(num, id_divmod, 1, &i);
+	if (ary != Qundef && !NIL_P(ary = rb_check_array_type(ary))) {
             i = rb_ary_entry(ary, 0);
             f = rb_ary_entry(ary, 1);
             t.tv_sec = NUM2TIMET(i);
@@ -2310,7 +2308,6 @@
             t.tv_nsec = NUM2LONG(f);
         }
         else {
-typeerror:
             rb_raise(rb_eTypeError, "can't convert %s into %s",
                      rb_obj_classname(num), tstr);
         }
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 27531)
+++ ChangeLog	(revision 27532)
@@ -1,3 +1,7 @@
+Wed Apr 28 18:04:48 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* time.c (time_timespec): use rb_check_funcall.
+
 Wed Apr 28 17:14:10 2010  Nobuyoshi Nakada  <nobu@r...>
 
 	* ext/socket/extconf.rb: CMSG_ macros are broken on 64bit darwin,

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

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