From f50bcf93171c4a73a513e04b91d6c9c8824c42ba Mon Sep 17 00:00:00 2001 From: usa Date: Wed, 22 Apr 2009 02:13:44 +0000 Subject: [PATCH] * time.c (GMTIME, LOCALTIME): should set result if not have *_r(). * time.c (localtime_with_gmtoff): now always needed tmbuf. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ time.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7370fcc806..659399fd7d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Apr 22 11:12:15 2009 NAKAMURA Usaku + + * time.c (GMTIME, LOCALTIME): should set result if not have *_r(). + + * time.c (localtime_with_gmtoff): now always needed tmbuf. + Wed Apr 22 10:38:47 2009 NAKAMURA Usaku * dir.c (glob_helper): C99(gcc)-ism. diff --git a/time.c b/time.c index a0e06148c7..68f26aa3c1 100644 --- a/time.c +++ b/time.c @@ -73,8 +73,8 @@ static int leap_year_p(long y); #else #define IF_HAVE_GMTIME_R(x) /* nothing */ #define ASCTIME(tm, buf) asctime(tm) -#define GMTIME(tm, result) gmtime(tm) -#define LOCALTIME(tm, result) localtime(tm) +#define GMTIME(tm, result) (result = *gmtime(tm), &result) +#define LOCALTIME(tm, result) (result = *localtime(tm), &result) #endif static ID id_divmod, id_mul, id_submicro, id_subnano; @@ -908,7 +908,7 @@ localtime_with_gmtoff(const time_t *t, struct tm *result, long *gmtoff) #else struct tm *u, *l; long off; - IF_HAVE_GMTIME_R(struct tm tmbuf); + struct tm tmbuf; l = &tm; u = GMTIME(t, tmbuf); if (!u)