From: Gisle V. <gv...@br...> - 2011-04-08 16:03:17
|
"David Sommerseth" <da...@re...> wrote: > - /* Try to use %TEMP% or %TMP% */ > - tmpdir = getenv("TEMP"); > - if( !tmpdir ) { > - tmpdir = getenv("TMP"); > + CLEAR (tmpdir); > + > + /* Try to use %TEMP%, %TMP% or %SystemRoot%\Temp */ > + envptr = getenv("TEMP"); > + if( envptr ) { > + return envptr; > } > - if( !tmpdir ) { > - /* Warn if we're using a hard coded path */ > - msg (M_WARN, "Could not find %TEMP% or %TMP% environment variables. " > - "Falling back to %s. Consider to use --tmp-dir", DEFAULT_TMPDIR); > - tmpdir = DEFAULT_TMPDIR; Why not a bit simpler; GetTempPath() (kernel32.dll) already does these tests. Ref: http://msdn.microsoft.com/en-us/library/aa364992(v=vs.85).aspx : The GetTempPath function checks for the existence of environment variables in the following order and uses the first path found: 1.. The path specified by the TMP environment variable. 2.. The path specified by the TEMP environment variable. 3.. The path specified by the USERPROFILE environment variable. 4.. The Windows directory. --gv |