فهرست منبع

Merge pull request #818 from PatriotRossii/feature/determine_time_zone

Update determine_time_zone according to GNU manual
Benjamin Sago 4 سال پیش
والد
کامیت
96e3f3d8d3
1فایلهای تغییر یافته به همراه14 افزوده شده و 3 حذف شده
  1. 14 3
      src/output/table.rs

+ 14 - 3
src/output/table.rs

@@ -292,9 +292,20 @@ impl Environment {
 
 
 fn determine_time_zone() -> TZResult<TimeZone> {
 fn determine_time_zone() -> TZResult<TimeZone> {
     if let Ok(file) = env::var("TZ") {
     if let Ok(file) = env::var("TZ") {
-        TimeZone::from_file(format!("/usr/share/zoneinfo/{}", file))
-    }
-    else {
+        TimeZone::from_file({
+            if file.starts_with("/") {
+                file
+            } else {
+                format!("/usr/share/zoneinfo/{}", {
+                    if file.starts_with(":") {
+                        file.replacen(":", "", 1)
+                    } else {
+                        file
+                    }
+                })
+            }
+        })
+    } else {
         TimeZone::from_file("/etc/localtime")
         TimeZone::from_file("/etc/localtime")
     }
     }
 }
 }