# HG changeset patch # User Daniel O'Connor # Date 1353993991 -37800 # Node ID d3b7d496480756e607427f6e72f6502b6040854a # Parent 188d5a8a747000495755ae1ada9b55b9e242e035 Create a TZ info structure for ACST and use it when printing times. diff -r 188d5a8a7470 -r d3b7d4964807 syscalls.c --- a/syscalls.c Tue Nov 27 15:56:09 2012 +1030 +++ b/syscalls.c Tue Nov 27 15:56:31 2012 +1030 @@ -147,11 +147,26 @@ __tz_unlock (void) { } +/* Set tzinfo directly so we don't need tzset() which requires getenv() */ +#ifdef USE_UTC static __tzinfo_type tzinfo = {1, 0, { {'J', 0, 0, 0, 0, (time_t)0, 0L }, {'J', 0, 0, 0, 0, (time_t)0, 0L } } }; +#else +/* ACST (south) + * Switch from DST 3am 1st Sunday of April: -9.5 hours to UTC + * Switch to DST 2am 1st Sunday October: -10.5 hours to UTC + * + * Copied from http://www.sourceware.org/ml/newlib/2008/msg00311.html + */ +static __tzinfo_type tzinfo = {0, 0, { + {'M', 4, 5, 0, 10800, (time_t)0, -37800L }, + {'M', 10, 5, 0, 7200, (time_t)0, -34200L } + } +}; +#endif __tzinfo_type * __gettzinfo (void) { diff -r 188d5a8a7470 -r d3b7d4964807 tempctrl.c --- a/tempctrl.c Tue Nov 27 15:56:09 2012 +1030 +++ b/tempctrl.c Tue Nov 27 15:56:31 2012 +1030 @@ -272,7 +272,7 @@ currstate = nextstate; - gmtime_r(&t, &tm); + localtime_r(&t, &tm); assert(strftime(buf, sizeof(buf) - 1, "%Y/%m/%d %H:%M:%S: ", &tm) != 0); fputs(buf, stdout); printtemp("Tr", settings.target_temp, ", ");