diff --git a/adb/adb_utils.cpp b/adb/adb_utils.cpp index 604bd57bf..4b97a1422 100644 --- a/adb/adb_utils.cpp +++ b/adb/adb_utils.cpp @@ -63,6 +63,25 @@ std::string escape_arg(const std::string& s) { return result; } +int mkdirs(const char *path) +{ + int ret; + char *x = (char *)path + 1; + + for(;;) { + x = adb_dirstart(x); + if(x == 0) return 0; + *x = 0; + ret = adb_mkdir(path, 0775); + *x = OS_PATH_SEPARATOR; + if((ret < 0) && (errno != EEXIST)) { + return ret; + } + x++; + } + return 0; +} + void dump_hex(const void* data, size_t byte_count) { byte_count = std::min(byte_count, size_t(16)); diff --git a/adb/adb_utils.h b/adb/adb_utils.h index 84f7d0c07..c816d003e 100644 --- a/adb/adb_utils.h +++ b/adb/adb_utils.h @@ -22,6 +22,8 @@ bool getcwd(std::string* cwd); bool directory_exists(const std::string& path); +int mkdirs(const char *path); + std::string escape_arg(const std::string& s); void dump_hex(const void* ptr, size_t byte_count); diff --git a/adb/commandline.cpp b/adb/commandline.cpp index 4adac373b..4e0db2bf4 100644 --- a/adb/commandline.cpp +++ b/adb/commandline.cpp @@ -724,25 +724,6 @@ static int logcat(TransportType transport, const char* serial, int argc, const c return send_shell_command(transport, serial, cmd); } -static int mkdirs(const char *path) -{ - int ret; - char *x = (char *)path + 1; - - for(;;) { - x = adb_dirstart(x); - if(x == 0) return 0; - *x = 0; - ret = adb_mkdir(path, 0775); - *x = OS_PATH_SEPARATOR; - if((ret < 0) && (errno != EEXIST)) { - return ret; - } - x++; - } - return 0; -} - static int backup(int argc, const char** argv) { const char* filename = "./backup.ab"; diff --git a/adb/file_sync_client.cpp b/adb/file_sync_client.cpp index 1dc711aec..49d42a38f 100644 --- a/adb/file_sync_client.cpp +++ b/adb/file_sync_client.cpp @@ -32,6 +32,7 @@ #include "adb.h" #include "adb_client.h" #include "adb_io.h" +#include "adb_utils.h" #include "file_sync_service.h" static unsigned long long total_bytes; @@ -395,25 +396,6 @@ fail: return -1; } -static int mkdirs(const char *name) -{ - int ret; - char *x = (char *)name + 1; - - for(;;) { - x = adb_dirstart(x); - if(x == 0) return 0; - *x = 0; - ret = adb_mkdir(name, 0775); - *x = OS_PATH_SEPARATOR; - if((ret < 0) && (errno != EEXIST)) { - return ret; - } - x++; - } - return 0; -} - static int sync_recv(int fd, const char* rpath, const char* lpath, int show_progress) { syncmsg msg; int len;