From 437f48a471f51ac9dd2697ee3b848a71b4f101df Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 12 Nov 2019 17:52:35 +0100 Subject: tree-wide: fix how we set $TZ According to tzset(3) we need to prefix timezone names with ":". Let's do so hence, to avoid any ambiguities and follow documented behaviour. --- src/shared/calendarspec.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/shared/calendarspec.c') diff --git a/src/shared/calendarspec.c b/src/shared/calendarspec.c index aa0d6a8224..217ab3fbaf 100644 --- a/src/shared/calendarspec.c +++ b/src/shared/calendarspec.c @@ -1352,7 +1352,12 @@ int calendar_spec_next_usec(const CalendarSpec *spec, usec_t usec, usec_t *ret_n return r; } if (r == 0) { - if (setenv("TZ", spec->timezone, 1) != 0) { + char *colon_tz; + + /* tzset(3) says $TZ should be prefixed with ":" if we reference timezone files */ + colon_tz = strjoina(":", spec->timezone); + + if (setenv("TZ", colon_tz, 1) != 0) { shared->return_value = negative_errno(); _exit(EXIT_FAILURE); } -- cgit v1.2.1