diff options
author | eban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-06-12 14:46:44 +0000 |
---|---|---|
committer | eban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-06-12 14:46:44 +0000 |
commit | d8efc64b06d1551600f8bff159df600966d779ce (patch) | |
tree | 2012557c6adbc4999be8b8ea30add250e51325b9 | |
parent | 2bc48ec00f2ee0028c1a5096aa676391820b87ec (diff) | |
download | ruby-d8efc64b06d1551600f8bff159df600966d779ce.tar.gz ruby-d8efc64b06d1551600f8bff159df600966d779ce.tar.xz ruby-d8efc64b06d1551600f8bff159df600966d779ce.zip |
2000-06-12
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | time.c | 12 |
3 files changed, 19 insertions, 7 deletions
@@ -1,3 +1,13 @@ +Mon Jun 12 23:41:54 2000 WATANABE Hirofumi <eban@os.rim.or.jp> + + * configure.in (daylight): avoid GCC optimization. + +Mon Jun 12 19:02:27 2000 WATANABE Hirofumi <eban@os.rim.or.jp> + + * configure.in: cygwin has strange timezone. + + * time.c (time_zone): use tzname and daylight. + Sat Jun 10 23:10:32 2000 Yukihiro Matsumoto <matz@netlab.co.jp> * io.c (rb_io_seek): whence is optional, default is SEEK_SET. diff --git a/configure.in b/configure.in index 242ce7f17..353bddbf6 100644 --- a/configure.in +++ b/configure.in @@ -157,7 +157,7 @@ openstep*) ;; rhapsody*) ;; human*) ac_cv_func_getpgrp_void=yes;; beos*) ;; -cygwin*) ;; +cygwin*) rb_cv_have_daylight=no;; mingw*) LIBS="-lwsock32 -lmsvcrt $LIBS" ac_cv_header_a_out_h=no ac_cv_header_pwd_h=no @@ -211,7 +211,7 @@ AC_CHECK_FUNCS(fmod killpg drand48 random wait4 waitpid syscall getcwd\ AC_STRUCT_TIMEZONE AC_CACHE_CHECK(for external int daylight, rb_cv_have_daylight, [AC_TRY_LINK([], - [extern int daylight; int i = daylight;], + [extern int daylight; daylight++;], rb_cv_have_daylight=yes, rb_cv_have_daylight=no)]) if test "$rb_cv_have_daylight" = yes; then @@ -272,6 +272,11 @@ static VALUE time_gmtime _((VALUE)); static VALUE time_localtime _((VALUE)); static VALUE time_get_tm _((VALUE, int)); +#if defined(HAVE_DAYLIGHT) && !defined __MINGW32__ +extern int daylight; +extern long timezone; +#endif + static time_t make_time_t(tptr, utc_or_local) struct tm *tptr; @@ -313,9 +318,6 @@ make_time_t(tptr, utc_or_local) if (!utc_or_local) { /* localtime zone adjust */ #if defined(HAVE_DAYLIGHT) - extern int daylight; - extern long timezone; - localtime(&guess); guess += timezone + daylight; #else @@ -807,8 +809,8 @@ time_zone(time) time_get_tm(time, tobj->gmt); } -#ifdef HAVE_TZNAME - return rb_str_new2(tobj->tm.tm_zone); +#if defined HAVE_TZNAME && defined HAVE_DAYLIGHT + return rb_str_new2(tzname[daylight && tobj->tm.tm_isdst]); #else len = strftime(buf, 64, "%Z", &tobj->tm); return rb_str_new(buf, len); |