Move mkdirs to adb_utils.

There were duplicate implementations in commandline.cpp and
file_sync_client.cpp.

Change-Id: Ib448f76c0d7ffdcd577336b1c610a881425bc2db
This commit is contained in:
Alex Vallée 2015-05-06 17:22:25 -04:00 committed by Alex Vallée
parent 759717ee63
commit 1421614821
4 changed files with 22 additions and 38 deletions

View File

@ -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));

View File

@ -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);

View File

@ -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";

View File

@ -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;