1 |
--- widgets/e-timezone-dialog/e-timezone-dialog.c.orig 2007-11-30 05:24:05.000000000 +0100 |
2 |
+++ widgets/e-timezone-dialog/e-timezone-dialog.c 2007-12-21 16:24:39.000000000 +0100 |
3 |
@@ -82,7 +82,9 @@ |
4 |
|
5 |
#ifndef G_OS_WIN32 /* Declared properly in time.h already */ |
6 |
extern char *tzname[2]; |
7 |
+#ifndef __BSD_VISIBLE |
8 |
extern long timezone; |
9 |
+#endif |
10 |
extern int daylight; |
11 |
#endif |
12 |
|
13 |
@@ -326,9 +328,20 @@ |
14 |
get_local_timezone(void) |
15 |
{ |
16 |
icaltimezone *zone; |
17 |
+ long offset; |
18 |
+#ifdef __BSD_VISIBLE |
19 |
+ time_t tt; |
20 |
+ struct tm tm; |
21 |
+#endif |
22 |
|
23 |
tzset(); |
24 |
- zone = icaltimezone_get_builtin_timezone_from_offset (-timezone, tzname[0]); |
25 |
+#ifdef __BSD_VISIBLE |
26 |
+ localtime_r (&tt, &tm); |
27 |
+ offset = tm.tm_gmtoff; |
28 |
+#else |
29 |
+ offset = -timezone; |
30 |
+#endif |
31 |
+ zone = icaltimezone_get_builtin_timezone_from_offset (offset, tzname[0]); |
32 |
|
33 |
return zone; |
34 |
} |