Explorar o código

cmSystemTools: Fix unsetenv() fallback

The fallback path boils down to putenv(). Calling that with a "=" sets the
variable to an empty string.
Use cmSystemTools::UnPutEnv() instead, which correctly handles unsetting
variables on a variety of systems.
Raul Tambre %!s(int64=3) %!d(string=hai) anos
pai
achega
8eb8d16c19
Modificáronse 1 ficheiros con 1 adicións e 2 borrados
  1. 1 2
      Source/cmSystemTools.cxx

+ 1 - 2
Source/cmSystemTools.cxx

@@ -1501,8 +1501,7 @@ std::string cmSystemTools::RelativeIfUnder(std::string const& top,
 bool cmSystemTools::UnsetEnv(const char* value)
 {
 #  if !defined(HAVE_UNSETENV)
-  std::string var = cmStrCat(value, '=');
-  return cmSystemTools::PutEnv(var);
+  return cmSystemTools::UnPutEnv(value);
 #  else
   unsetenv(value);
   return true;