diff options
Diffstat (limited to 'adb/adb.cpp')
-rw-r--r-- | adb/adb.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/adb/adb.cpp b/adb/adb.cpp index d37ca36..ad85184 100644 --- a/adb/adb.cpp +++ b/adb/adb.cpp @@ -79,18 +79,19 @@ void fatal_errno(const char *fmt, ...) #if !ADB_HOST void start_device_log(void) { - adb_mkdir("/data/adb", 0775); - struct tm now; time_t t; tzset(); time(&t); localtime_r(&t, &now); + char timestamp[PATH_MAX]; + strftime(timestamp, sizeof(timestamp), "%Y-%m-%d-%H-%M-%S", &now); + char path[PATH_MAX]; - strftime(path, sizeof(path), "/data/adb/adb-%Y-%m-%d-%H-%M-%S.txt", &now); + snprintf(path, sizeof(path), "/data/adb/adb-%s-%d", timestamp, getpid()); - int fd = unix_open(path, O_WRONLY | O_CREAT | O_TRUNC, 0640); + int fd = unix_open(path, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0640); if (fd == -1) { return; } @@ -100,10 +101,6 @@ void start_device_log(void) { dup2(fd, STDERR_FILENO); fprintf(stderr, "--- adb starting (pid %d) ---\n", getpid()); adb_close(fd); - - fd = unix_open("/dev/null", O_RDONLY); - dup2(fd, 0); - adb_close(fd); } #endif |