Index: runtime/bin/directory_posix.cc |
diff --git a/runtime/bin/directory_posix.cc b/runtime/bin/directory_posix.cc |
index 527509be343eed25535bda624f464ce64d6b7859..042994340ca688ff26189f3dde4eacd2acf7389a 100644 |
--- a/runtime/bin/directory_posix.cc |
+++ b/runtime/bin/directory_posix.cc |
@@ -21,12 +21,6 @@ static char* SafeStrNCpy(char* dest, const char* src, size_t n) { |
} |
-static void SetOsErrorMessage(char* os_error_message, |
- int os_error_message_len) { |
- SafeStrNCpy(os_error_message, strerror(errno), os_error_message_len); |
-} |
- |
- |
// Forward declarations. |
static bool ListRecursively(const char* dir_name, |
bool recursive, |
@@ -389,37 +383,32 @@ bool Directory::Create(const char* dir_name) { |
} |
-int Directory::CreateTemp(const char* const_template, |
- char** path, |
- char* os_error_message, |
- int os_error_message_len) { |
+char* Directory::CreateTemp(const char* const_template) { |
// Returns a new, unused directory name, modifying the contents of |
// dir_template. Creates the directory with the permissions specified |
// by the process umask. |
// The return value must be freed by the caller. |
- *path = static_cast<char*>(malloc(PATH_MAX + 1)); |
- SafeStrNCpy(*path, const_template, PATH_MAX + 1); |
- int path_length = strlen(*path); |
+ char* path = static_cast<char*>(malloc(PATH_MAX + 1)); |
+ SafeStrNCpy(path, const_template, PATH_MAX + 1); |
+ int path_length = strlen(path); |
if (path_length > 0) { |
- if ((*path)[path_length - 1] == '/') { |
- snprintf(*path + path_length, PATH_MAX - path_length, "temp_dir_XXXXXX"); |
+ if ((path)[path_length - 1] == '/') { |
+ snprintf(path + path_length, PATH_MAX - path_length, "temp_dir_XXXXXX"); |
} else { |
- snprintf(*path + path_length, PATH_MAX - path_length, "XXXXXX"); |
+ snprintf(path + path_length, PATH_MAX - path_length, "XXXXXX"); |
} |
} else { |
- snprintf(*path, PATH_MAX, "/tmp/temp_dir1_XXXXXX"); |
+ snprintf(path, PATH_MAX, "/tmp/temp_dir1_XXXXXX"); |
} |
char* result; |
do { |
- result = mkdtemp(*path); |
+ result = mkdtemp(path); |
} while (result == NULL && errno == EINTR); |
if (result == NULL) { |
- SetOsErrorMessage(os_error_message, os_error_message_len); |
- free(*path); |
- *path = NULL; |
- return errno; |
+ free(path); |
+ return NULL; |
} |
- return 0; |
+ return path; |
} |