From 541c9bae715876691ea8274de8072a1a0654f6c9 Mon Sep 17 00:00:00 2001 From: Paul Dicker Date: Tue, 19 Mar 2024 15:47:10 +0100 Subject: [PATCH] Check `TZDIR` environment variable --- src/offset/local/unix.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/offset/local/unix.rs b/src/offset/local/unix.rs index 58a29924a6..208d1fe948 100644 --- a/src/offset/local/unix.rs +++ b/src/offset/local/unix.rs @@ -189,6 +189,16 @@ impl CachedTzInfo { const ZONE_INFO_DIRECTORIES: [&str; 4] = ["/usr/share/zoneinfo", "/share/zoneinfo", "/etc/zoneinfo", "/usr/share/lib/zoneinfo"]; + // Use the value of the `TZDIR` environment variable if set. + if let Some(tz_dir) = env::var_os("TZDIR") { + if !tz_dir.is_empty() { + let path = PathBuf::from(tz_dir); + if path.exists() { + return Ok(path); + } + } + } + for dir in &ZONE_INFO_DIRECTORIES { let path = PathBuf::from(dir); if path.exists() {