Merge "libbase: fix the way to find temp dir."

am: b13d4a31a3

Change-Id: I8e3690c1e4b9cb4ce67e1bba323b21c3f9f7bcd9
This commit is contained in:
Yabin Cui 2017-02-14 00:35:44 +00:00 committed by android-build-merger
commit 8a5f594bc3

View file

@ -57,7 +57,13 @@ char* mkdtemp(char* template_name) {
static std::string GetSystemTempDir() {
#if defined(__ANDROID__)
return "/data/local/tmp";
const char* tmpdir = "/data/local/tmp";
if (access(tmpdir, R_OK | W_OK | X_OK) == 0) {
return tmpdir;
}
// Tests running in app context can't access /data/local/tmp,
// so try current directory if /data/local/tmp is not accessible.
return ".";
#elif defined(_WIN32)
char tmp_dir[MAX_PATH];
DWORD result = GetTempPathA(sizeof(tmp_dir), tmp_dir);