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

ruby-changes:7048

From: matz <ko1@a...>
Date: Wed, 13 Aug 2008 16:13:40 +0900 (JST)
Subject: [ruby-changes:7048] Ruby:r18566 (trunk): * time.c (time_cmp): retry with right hand operand if its not a

matz	2008-08-13 16:13:27 +0900 (Wed, 13 Aug 2008)

  New Revision: 18566

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

  Log:
    * time.c (time_cmp): retry with right hand operand if its not a
      time object.  [ruby-dev:35011]

  Modified files:
    trunk/ChangeLog
    trunk/time.c

Index: time.c
===================================================================
--- time.c	(revision 18565)
+++ time.c	(revision 18566)
@@ -1087,8 +1087,18 @@
 	if (tobj1->ts.tv_sec > tobj2->ts.tv_sec) return INT2FIX(1);
 	return INT2FIX(-1);
     }
+    else {
+	VALUE cmp;
+	int n;
 
-    return Qnil;
+	cmp = rb_funcall(time2, rb_intern("<=>"), 1, time1);
+	if (NIL_P(cmp)) return Qnil;
+
+	n = rb_cmpint(cmp, time1, time2);
+	if (n == 0) return INT2FIX(0);
+	if (n > 0) return INT2FIX(1);
+	return INT2FIX(-1);
+    }
 }
 
 /*
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18565)
+++ ChangeLog	(revision 18566)
@@ -1,3 +1,8 @@
+Wed Aug 13 16:05:50 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* time.c (time_cmp): retry with right hand operand if its not a
+	  time object.  [ruby-dev:35011]
+
 Wed Aug 13 15:51:22 2008  Akinori MUSHA  <knu@i...>
 
 	* string.c: Apply a temporary fix to fix build on OS X.  A real

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

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