Use TMPDIR env var if available to get the temp dir name (#11443) [bugfix]

Additionally, use normalizePathEnd to suffix the dir name with "/" or
"\" as appropriate for the current OS.

Fixes https://github.com/nim-lang/Nim/issues/11439.
This commit is contained in:
Kaushal Modi
2019-06-10 13:59:51 -04:00
committed by Andreas Rumpf
parent 94177f7357
commit 2334680b3d
2 changed files with 20 additions and 5 deletions

View File

@@ -333,3 +333,15 @@ block ospaths:
doAssert joinPath("", "lib") == "lib"
doAssert joinPath("", "/lib") == unixToNativePath"/lib"
doAssert joinPath("usr/", "/lib") == unixToNativePath"usr/lib"
block getTempDir:
block TMPDIR:
# TMPDIR env var is not used if either of these are defined.
when not (defined(tempDir) or defined(windows) or defined(android)):
if existsEnv("TMPDIR"):
let origTmpDir = getEnv("TMPDIR")
putEnv("TMPDIR", "/mytmp")
doAssert getTempDir() == "/mytmp/"
putEnv("TMPDIR", origTmpDir)
else:
doAssert getTempDir() == "/tmp/"