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;