| Index: base/env_var.cc
|
| diff --git a/base/env_var.cc b/base/env_var.cc
|
| index d0eaa0c6844268a0aa38cbdbca58399723200d26..71d9c53b1ca6ff1bf63bcad2f098feac3a10b551 100644
|
| --- a/base/env_var.cc
|
| +++ b/base/env_var.cc
|
| @@ -44,6 +44,10 @@ class EnvVarGetterImpl : public base::EnvVarGetter {
|
| return SetEnvImpl(variable_name, new_value);
|
| }
|
|
|
| + virtual bool UnSetEnv(const char* variable_name) {
|
| + return UnSetEnvImpl(variable_name);
|
| + }
|
| +
|
| private:
|
| bool GetEnvImpl(const char* variable_name, std::string* result) {
|
| #if defined(OS_POSIX)
|
| @@ -81,6 +85,17 @@ class EnvVarGetterImpl : public base::EnvVarGetter {
|
| ASCIIToWide(new_value).c_str()) != 0;
|
| #endif
|
| }
|
| +
|
| + bool UnSetEnvImpl(const char* variable_name) {
|
| +#if defined(OS_POSIX)
|
| + // On success, zero is returned.
|
| + return unsetenv(variable_name) == 0;
|
| +#elif defined(OS_WIN)
|
| + // On success, a nonzero is returned.
|
| + return ::SetEnvironmentVariable(ASCIIToWide(variable_name).c_str(),
|
| + NULL) != 0;
|
| +#endif
|
| + }
|
| };
|
|
|
| } // namespace
|
| @@ -99,13 +114,13 @@ const char kHome[] = "HOME";
|
|
|
| EnvVarGetter::~EnvVarGetter() {}
|
|
|
| -bool EnvVarGetter::HasEnv(const char* variable_name) {
|
| - return GetEnv(variable_name, NULL);
|
| -}
|
| -
|
| // static
|
| EnvVarGetter* EnvVarGetter::Create() {
|
| return new EnvVarGetterImpl();
|
| }
|
|
|
| +bool EnvVarGetter::HasEnv(const char* variable_name) {
|
| + return GetEnv(variable_name, NULL);
|
| +}
|
| +
|
| } // namespace base
|
|
|