diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gtest-filepath.cc | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gtest-filepath.cc b/src/gtest-filepath.cc index 219875cc..0292dc11 100644 --- a/src/gtest-filepath.cc +++ b/src/gtest-filepath.cc @@ -106,7 +106,14 @@ FilePath FilePath::GetCurrentDir() {    return FilePath(_getcwd(cwd, sizeof(cwd)) == NULL ? "" : cwd);  #else    char cwd[GTEST_PATH_MAX_ + 1] = { '\0' }; -  return FilePath(getcwd(cwd, sizeof(cwd)) == NULL ? "" : cwd); +  char* result = getcwd(cwd, sizeof(cwd)); +# if GTEST_OS_NACL +  // getcwd will likely fail in NaCl due to the sandbox, so return something +  // reasonable. The user may have provided a shim implementation for getcwd, +  // however, so fallback only when failure is detected. +  return FilePath(result == NULL ? kCurrentDirectoryString : cwd); +# endif  // GTEST_OS_NACL +  return FilePath(result == NULL ? "" : cwd);  #endif  // GTEST_OS_WINDOWS_MOBILE  }  | 
