summaryrefslogtreecommitdiffstats
path: root/base/env_var.cc
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-16 03:34:25 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-16 03:34:25 +0000
commite9032c6a2ea03e4a5081e0234eff857cf190e3e4 (patch)
treea9e6ec385829730bc9442579c2fef525d1caf71e /base/env_var.cc
parent3e108342206210d64d81368044d9503445a1a1f3 (diff)
downloadchromium_src-e9032c6a2ea03e4a5081e0234eff857cf190e3e4.zip
chromium_src-e9032c6a2ea03e4a5081e0234eff857cf190e3e4.tar.gz
chromium_src-e9032c6a2ea03e4a5081e0234eff857cf190e3e4.tar.bz2
base: Return bool instead of void in EnvVarGetter::SetEnv.
Returning bool instead of void in this function is better, because with that we can know if we had succeeded when tried to set an environment variable or not. Also it makes this function more testable. BUG=None TEST=out/Debug/base_unittests --gtest_filter=EnvVarTest.* Signed-off-by: Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/2891024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52602 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/env_var.cc')
-rw-r--r--base/env_var.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/base/env_var.cc b/base/env_var.cc
index bcdadb9..086191e 100644
--- a/base/env_var.cc
+++ b/base/env_var.cc
@@ -40,8 +40,8 @@ class EnvVarGetterImpl : public base::EnvVarGetter {
return GetEnvImpl(alternate_case_var.c_str(), result);
}
- virtual void SetEnv(const char* variable_name, const std::string& new_value) {
- SetEnvImpl(variable_name, new_value);
+ virtual bool SetEnv(const char* variable_name, const std::string& new_value) {
+ return SetEnvImpl(variable_name, new_value);
}
private:
@@ -71,12 +71,14 @@ class EnvVarGetterImpl : public base::EnvVarGetter {
#endif
}
- void SetEnvImpl(const char* variable_name, const std::string& new_value) {
+ bool SetEnvImpl(const char* variable_name, const std::string& new_value) {
#if defined(OS_POSIX)
- setenv(variable_name, new_value.c_str(), 1);
+ // On success, zero is returned.
+ return setenv(variable_name, new_value.c_str(), 1) == 0;
#elif defined(OS_WIN)
- ::SetEnvironmentVariable(ASCIIToWide(variable_name).c_str(),
- ASCIIToWide(new_value).c_str());
+ // On success, a nonzero is returned.
+ return ::SetEnvironmentVariable(ASCIIToWide(variable_name).c_str(),
+ ASCIIToWide(new_value).c_str()) != 0;
#endif
}
};