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); setenv("TZ", new_tz, true);
t = time(NULL); t = time(NULL);
tzset();
timeval = localtime_r(&t, &tmp); timeval = localtime_r(&t, &tmp);
if (timeval != NULL) { if (timeval != NULL) {
#if HAVE_STRUCT_TM_TM_GMTOFF #if HAVE_STRUCT_TM_TM_GMTOFF

View File

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

View File

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