summaryrefslogtreecommitdiffstats
path: root/base/path_service.cc
diff options
context:
space:
mode:
authorerikkay@google.com <erikkay@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-06 16:29:44 +0000
committererikkay@google.com <erikkay@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-06 16:29:44 +0000
commit1010f7d1107f4df30be4a6d97ddeead2d4f3e585 (patch)
treea8ded6f98184a8a817412f1589109c8d88c9326c /base/path_service.cc
parent355cc27400bd3d128314f7203232cbb04c501cf2 (diff)
downloadchromium_src-1010f7d1107f4df30be4a6d97ddeead2d4f3e585.zip
chromium_src-1010f7d1107f4df30be4a6d97ddeead2d4f3e585.tar.gz
chromium_src-1010f7d1107f4df30be4a6d97ddeead2d4f3e585.tar.bz2
Refactoring file_util into file_util and file_util_win. Also fix windows dependencies in path_service.cc.
One questionable decision here was to put GetCurrentDirectory and SetCurrentDirectory into file_util_win.cc. I could have kept the logic in path_service.cc with #ifdefs or I could have split up path_service.cc into path_service_win.cc, etc. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@436 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/path_service.cc')
-rw-r--r--base/path_service.cc12
1 files changed, 2 insertions, 10 deletions
diff --git a/base/path_service.cc b/base/path_service.cc
index 8b0db17..05f3010 100644
--- a/base/path_service.cc
+++ b/base/path_service.cc
@@ -119,14 +119,7 @@ bool PathService::Get(int key, std::wstring* result) {
// special case the current directory because it can never be cached
if (key == base::DIR_CURRENT) {
#if defined(OS_WIN)
- wchar_t system_buffer[MAX_PATH];
- system_buffer[0] = 0;
- DWORD len = GetCurrentDirectory(MAX_PATH, system_buffer);
- if (len == 0 || len > MAX_PATH)
- return false;
- *result = system_buffer;
- file_util::TrimTrailingSeparator(result);
- return true;
+ return file_util::GetCurrentDirectory(result);
#elif defined(OS_POSIX)
char system_buffer[PATH_MAX];
system_buffer[0] = 0;
@@ -212,8 +205,7 @@ bool PathService::Override(int key, const std::wstring& path) {
bool PathService::SetCurrentDirectory(const std::wstring& current_directory) {
#if defined(OS_WIN)
- BOOL ret = ::SetCurrentDirectory(current_directory.c_str());
- return (ret ? true : false);
+ return file_util::SetCurrentDirectory(current_directory);
#elif defined(OS_POSIX)
int ret = chdir(WideToNativeMB(current_directory).c_str());
return (ret == 0);