summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/ospaths.nim8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/pure/ospaths.nim b/lib/pure/ospaths.nim
index 0414eae5d..1bcfd978b 100644
--- a/lib/pure/ospaths.nim
+++ b/lib/pure/ospaths.nim
@@ -531,9 +531,11 @@ proc getConfigDir*(): string {.rtl, extern: "nos$1",
   ##
   ## An OS-dependent trailing slash is always present at the end of the
   ## returned string; `\\` on Windows and `/` on all other OSs.
-  when defined(windows): return string(getEnv("APPDATA")) & "\\"
-  elif getEnv("XDG_CONFIG_HOME"): return string(getEnv("XDG_CONFIG_HOME")) & "/"
-  else: return string(getEnv("HOME")) & "/.config/"
+  when defined(windows):
+    result = string(getEnv("APPDATA")) & "\\"
+  else:
+    result = string(getEnv("XDG_CONFIG_HOME", "")) & "/"
+    if result == "/": result = string(getEnv("HOME")) & "/.config/"
 
 proc getTempDir*(): string {.rtl, extern: "nos$1",
   tags: [ReadEnvEffect, ReadIOEffect].} =