Call tzset before computing timezone offset

POSIX.1-2004 requires that localtime() is required to behave as if
tzset() was called, but there is no such requirement imposed upon
localtime_r(). Therefore, we need to call tzset ourselves to ensure that
the timezone fields are updated.
reverse-scroll
nirenjan 2021-08-30 11:53:35 -07:00
parent 91f378c4fc
commit 2290900da6
3 changed files with 17 additions and 16 deletions

View File

@ -68,6 +68,7 @@ static int get_tz_offset(const char *tz)
setenv("TZ", new_tz, true);
t = time(NULL);
tzset();
timeval = localtime_r(&t, &tmp);
if (timeval != NULL) {
#if HAVE_STRUCT_TM_TM_GMTOFF

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: x52pro-linux 0.2.2\n"
"Report-Msgid-Bugs-To: https://github.com/nirenjan/x52pro-linux/issues\n"
"POT-Creation-Date: 2021-08-30 10:40-0700\n"
"POT-Creation-Date: 2021-08-30 11:52-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -574,7 +574,7 @@ msgstr ""
msgid "Setting clock enable to %s"
msgstr ""
#: daemon/x52d_clock.c:34 daemon/x52d_clock.c:113
#: daemon/x52d_clock.c:34 daemon/x52d_clock.c:114
#, c-format
msgid "Setting %s clock timezone to %s"
msgstr ""
@ -595,31 +595,31 @@ msgstr ""
msgid "Unable to backup timezone environment. Falling back to UTC"
msgstr ""
#: daemon/x52d_clock.c:130
#: daemon/x52d_clock.c:131
#, c-format
msgid "Setting %s clock format to %s"
msgstr ""
#: daemon/x52d_clock.c:152
#: daemon/x52d_clock.c:153
#, c-format
msgid "Setting date format to %s"
msgstr ""
#: daemon/x52d_clock.c:162
#: daemon/x52d_clock.c:163
msgid "Starting X52 clock manager thread"
msgstr ""
#: daemon/x52d_clock.c:173
#: daemon/x52d_clock.c:174
#, c-format
msgid "Error %d retrieving current time: %s"
msgstr ""
#: daemon/x52d_clock.c:194
#: daemon/x52d_clock.c:195
#, c-format
msgid "Error %d initializing clock thread: %s"
msgstr ""
#: daemon/x52d_clock.c:201
#: daemon/x52d_clock.c:202
msgid "Shutting down X52 clock manager thread"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: x52pro-linux 0.2.1\n"
"Report-Msgid-Bugs-To: https://github.com/nirenjan/x52pro-linux/issues\n"
"POT-Creation-Date: 2021-08-30 10:40-0700\n"
"POT-Creation-Date: 2021-08-30 11:52-0700\n"
"PO-Revision-Date: 2021-08-30 10:41-0700\n"
"Last-Translator: Nirenjan Krishnan <nirenjan@gmail.com>\n"
"Language-Team: Dummy Language for testing i18n\n"
@ -620,7 +620,7 @@ msgstr "Uttingshay ownday X52 aemonday"
msgid "Setting clock enable to %s"
msgstr "Ettingsay ockclay enableay otay %s"
#: daemon/x52d_clock.c:34 daemon/x52d_clock.c:113
#: daemon/x52d_clock.c:34 daemon/x52d_clock.c:114
#, c-format
msgid "Setting %s clock timezone to %s"
msgstr "Ettingsay %s ockclay imezonetay otay %s"
@ -644,31 +644,31 @@ msgid "Unable to backup timezone environment. Falling back to UTC"
msgstr ""
"Unableay otay ackupbay imezonetay environmentay. Allingfay ackbay otay UTCay"
#: daemon/x52d_clock.c:130
#: daemon/x52d_clock.c:131
#, c-format
msgid "Setting %s clock format to %s"
msgstr "Ettingsay %s ockclay ormatfay otay %s"
#: daemon/x52d_clock.c:152
#: daemon/x52d_clock.c:153
#, c-format
msgid "Setting date format to %s"
msgstr "Ettingsay ateday ormatfay otay %s"
#: daemon/x52d_clock.c:162
#: daemon/x52d_clock.c:163
msgid "Starting X52 clock manager thread"
msgstr "Artingstay X52 ockclay anagermay eadthray"
#: daemon/x52d_clock.c:173
#: daemon/x52d_clock.c:174
#, c-format
msgid "Error %d retrieving current time: %s"
msgstr "Erroray %d etrievingray urrentcay imetay: %s"
#: daemon/x52d_clock.c:194
#: daemon/x52d_clock.c:195
#, c-format
msgid "Error %d initializing clock thread: %s"
msgstr "Erroray %d initializingay ockclay eadthray: %s"
#: daemon/x52d_clock.c:201
#: daemon/x52d_clock.c:202
msgid "Shutting down X52 clock manager thread"
msgstr "Uttingshay ownday X52 ockclay anagermay eadthray"