Mercurial > dovecot > original-hg > dovecot-1.2
comparison src/lib/utc-offset.c @ 9235:8e66ca02b6f9 HEAD
utc_offset() was broken with year's first/last day if struct tm.tm_gmtoff didn't exist.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 21 Jul 2009 15:18:49 -0400 |
parents | b9faf4db2a9f |
children | 00cd9aacd03c |
comparison
equal
deleted
inserted
replaced
9234:ae3e0ff64c94 | 9235:8e66ca02b6f9 |
---|---|
17 ltm = *tm; | 17 ltm = *tm; |
18 tm = gmtime(&t); | 18 tm = gmtime(&t); |
19 gtm = *tm; | 19 gtm = *tm; |
20 | 20 |
21 /* max offset of 24 hours */ | 21 /* max offset of 24 hours */ |
22 if (ltm.tm_yday < gtm.tm_yday) | 22 if ((ltm.tm_yday < gtm.tm_yday && ltm.tm_year == gtm.tm_year) || |
23 ltm.tm_year < gtm.tm_year) | |
23 offset = -24 * 60; | 24 offset = -24 * 60; |
24 else if (ltm.tm_yday > gtm.tm_yday) | 25 else if ((ltm.tm_yday > gtm.tm_yday && ltm.tm_year == gtm.tm_year) || |
26 ltm.tm_year > gtm.tm_year) | |
25 offset = 24 * 60; | 27 offset = 24 * 60; |
26 else | 28 else |
27 offset = 0; | 29 offset = 0; |
28 | 30 |
29 offset += (ltm.tm_hour - gtm.tm_hour) * 60; | 31 offset += (ltm.tm_hour - gtm.tm_hour) * 60; |