summaryrefslogtreecommitdiff
path: root/time
diff options
context:
space:
mode:
authorjerenkrantz <jerenkrantz@13f79535-47bb-0310-9956-ffa450edef68>2002-01-10 23:46:43 +0000
committerjerenkrantz <jerenkrantz@13f79535-47bb-0310-9956-ffa450edef68>2002-01-10 23:46:43 +0000
commitd02f2ff035403a2c7932dfc69e151c6cf129008a (patch)
tree88cd046bfd9ca41777c1c7189ce35a628dcb51dd /time
parent1100fd948bf057df8b5d91ede1ba25c3ef95baba (diff)
downloadlibapr-d02f2ff035403a2c7932dfc69e151c6cf129008a.tar.gz
Fix GMT offset calculations for platforms that do not have native GMT
offsets. Submitted by: Jon Travis <jtravis@covalent.net> Reviewed by: Justin, Brian, David git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@62744 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'time')
-rw-r--r--time/unix/time.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/time/unix/time.c b/time/unix/time.c
index 8eb9aba67..92a3eece0 100644
--- a/time/unix/time.c
+++ b/time/unix/time.c
@@ -92,6 +92,9 @@ static apr_int32_t get_offset(struct tm *tm)
if (daylightOnOff) {
return server_gmt_offset + daylightOffset;
}
+#else
+ if(tm->tm_isdst)
+ return server_gmt_offset + 3600;
#endif
return server_gmt_offset;
#endif
@@ -341,7 +344,6 @@ APR_DECLARE(void) apr_unix_setup_time(void)
struct timeval now;
time_t t1, t2;
struct tm t;
- int was_dst;
gettimeofday(&now, NULL);
t1 = now.tv_sec;
@@ -352,10 +354,9 @@ APR_DECLARE(void) apr_unix_setup_time(void)
#else
t = *gmtime(&t1);
#endif
- was_dst = (t.tm_isdst > 0);
t.tm_isdst = -1;
t2 = mktime(&t);
- server_gmt_offset = (apr_int32_t) difftime(t1, t2) + (was_dst ? 3600 : 0);
+ server_gmt_offset = (apr_int32_t) difftime(t1, t2);
#endif
}