From fadc3a8bbc83b541a7b345a757e06cfe3585b8e4 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 6 May 2010 08:16:45 +0000 Subject: * time.c (rb_localtime_r2): get rid of infinite loop bug of localtime() on x86_64-darwin. [ruby-core:30031] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- time.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'time.c') diff --git a/time.c b/time.c index f6d0f3a7cb..62e4235603 100644 --- a/time.c +++ b/time.c @@ -863,6 +863,9 @@ rb_localtime_r(const time_t *tp, struct tm *result) static struct tm * rb_localtime_r2(const time_t *t, struct tm *result) { +#if defined __APPLE__ && defined __LP64__ + if (*t != (time_t)(int)*t) return NULL; +#endif result = rb_localtime_r(t, result); #if defined(HAVE_MKTIME) && defined(LOCALTIME_OVERFLOW_PROBLEM) if (result) { -- cgit v1.2.3