From f4465203b618fa57b6669c4d5627f32fb025b73e Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 24 Aug 2015 14:27:03 -0700 Subject: [PATCH] There are no big endian hosts, grandpa. Change-Id: I6f64f702f919fe4af10d82c5f395a051571815ed --- adb/file_sync_client.cpp | 24 ++++++++++++------------ adb/file_sync_service.cpp | 26 +++++++++++++------------- adb/file_sync_service.h | 3 --- 3 files changed, 25 insertions(+), 28 deletions(-) diff --git a/adb/file_sync_client.cpp b/adb/file_sync_client.cpp index c37c6dd0e..c83845cef 100644 --- a/adb/file_sync_client.cpp +++ b/adb/file_sync_client.cpp @@ -79,7 +79,7 @@ static bool SendRequest(int fd, int id, const char* path) { char buf[sizeof(SyncRequest) + path_length] __attribute__((aligned(8))); SyncRequest* req = reinterpret_cast(buf); req->id = id; - req->path_length = htoll(path_length); + req->path_length = path_length; char* data = reinterpret_cast(req + 1); memcpy(data, path, path_length); @@ -143,14 +143,14 @@ static bool sync_ls(int fd, const char* path, sync_ls_cb func, void* cookie) { if (msg.dent.id == ID_DONE) return true; if (msg.dent.id != ID_DENT) return false; - size_t len = ltohl(msg.dent.namelen); + size_t len = msg.dent.namelen; if (len > 256) return false; // TODO: resize buffer? continue? char buf[257]; if (!ReadFdExactly(fd, buf, len)) return false; buf[len] = 0; - func(ltohl(msg.dent.mode), ltohl(msg.dent.size), ltohl(msg.dent.time), buf, cookie); + func(msg.dent.mode, msg.dent.size, msg.dent.time, buf, cookie); } } @@ -165,9 +165,9 @@ static bool sync_finish_stat(SyncConnection& sc, unsigned int* timestamp, return false; } - if (timestamp) *timestamp = ltohl(msg.stat.time); - if (mode) *mode = ltohl(msg.stat.mode); - if (size) *size = ltohl(msg.stat.size); + if (timestamp) *timestamp = msg.stat.time; + if (mode) *mode = msg.stat.mode; + if (size) *size = msg.stat.size; return true; } @@ -211,7 +211,7 @@ static int write_data_file(SyncConnection& sc, const char* path, syncsendbuf* sb break; } - sbuf->size = htoll(ret); + sbuf->size = ret; if (!WriteFdExactly(sc.fd, sbuf, sizeof(unsigned) * 2 + ret)) { err = -1; break; @@ -238,7 +238,7 @@ static int write_data_link(SyncConnection& sc, const char* path, syncsendbuf* sb } sbuf->data[len] = '\0'; - sbuf->size = htoll(len + 1); + sbuf->size = len + 1; sbuf->id = ID_DATA; if (!WriteFdExactly(sc.fd, sbuf, sizeof(unsigned) * 2 + len + 1)) { @@ -269,14 +269,14 @@ static bool sync_send(SyncConnection& sc, const char *lpath, const char *rpath, syncmsg msg; msg.data.id = ID_DONE; - msg.data.size = htoll(mtime); + msg.data.size = mtime; if (!WriteFdExactly(sc.fd, &msg.data, sizeof(msg.data))) goto fail; if (!ReadFdExactly(sc.fd, &msg.status, sizeof(msg.status))) goto fail; if (msg.status.id != ID_OKAY) { if (msg.status.id == ID_FAIL) { - size_t len = ltohl(msg.status.msglen); + size_t len = msg.status.msglen; if (len > 256) len = 256; if (!ReadFdExactly(sc.fd, sbuf->data, len)) goto fail; sbuf->data[len] = 0; @@ -333,7 +333,7 @@ static int sync_recv(SyncConnection& sc, const char* rpath, const char* lpath, b id = msg.data.id; handle_data: - len = ltohl(msg.data.size); + len = msg.data.size; if (id == ID_DONE) break; if (id != ID_DATA) goto remote_error; if (len > sc.max) { @@ -368,7 +368,7 @@ remote_error: adb_unlink(lpath); if(id == ID_FAIL) { - len = ltohl(msg.data.size); + len = msg.data.size; if(len > 256) len = 256; if(!ReadFdExactly(sc.fd, buffer, len)) { return -1; diff --git a/adb/file_sync_service.cpp b/adb/file_sync_service.cpp index 1323d83f6..3e4644716 100644 --- a/adb/file_sync_service.cpp +++ b/adb/file_sync_service.cpp @@ -85,9 +85,9 @@ static bool do_stat(int s, const char* path) { memset(&st, 0, sizeof(st)); // TODO: add a way to report that the stat failed! lstat(path, &st); - msg.stat.mode = htoll(st.st_mode); - msg.stat.size = htoll(st.st_size); - msg.stat.time = htoll(st.st_mtime); + msg.stat.mode = st.st_mode; + msg.stat.size = st.st_size; + msg.stat.time = st.st_mtime; return WriteFdExactly(s, &msg.stat, sizeof(msg.stat)); } @@ -107,10 +107,10 @@ static bool do_list(int s, const char* path) { struct stat st; if (lstat(filename.c_str(), &st) == 0) { size_t d_name_length = strlen(de->d_name); - msg.dent.mode = htoll(st.st_mode); - msg.dent.size = htoll(st.st_size); - msg.dent.time = htoll(st.st_mtime); - msg.dent.namelen = htoll(d_name_length); + msg.dent.mode = st.st_mode; + msg.dent.size = st.st_size; + msg.dent.time = st.st_mtime; + msg.dent.namelen = d_name_length; if (!WriteFdExactly(s, &msg.dent, sizeof(msg.dent)) || !WriteFdExactly(s, de->d_name, d_name_length)) { @@ -133,7 +133,7 @@ static bool fail_message(int s, const std::string& reason) { syncmsg msg; msg.data.id = ID_FAIL; - msg.data.size = htoll(reason.size()); + msg.data.size = reason.size(); return WriteFdExactly(s, &msg.data, sizeof(msg.data)) && WriteFdExactly(s, reason); } @@ -185,13 +185,13 @@ static bool handle_send_file(int s, char *path, uid_t uid, if(msg.data.id != ID_DATA) { if(msg.data.id == ID_DONE) { - timestamp = ltohl(msg.data.size); + timestamp = msg.data.size; break; } fail_message(s, "invalid data message"); goto fail; } - len = ltohl(msg.data.size); + len = msg.data.size; if (len > buffer.size()) { // TODO: resize buffer? fail_message(s, "oversize data message"); goto fail; @@ -245,7 +245,7 @@ static bool handle_send_link(int s, char *path, std::vector& buffer) { return false; } - len = ltohl(msg.data.size); + len = msg.data.size; if (len > buffer.size()) { // TODO: resize buffer? fail_message(s, "oversize data message"); return false; @@ -346,7 +346,7 @@ static bool do_recv(int s, const char* path, std::vector& buffer) { adb_close(fd); return status; } - msg.data.size = htoll(r); + msg.data.size = r; if (!WriteFdExactly(s, &msg.data, sizeof(msg.data)) || !WriteFdExactly(s, &buffer[0], r)) { adb_close(fd); return false; @@ -368,7 +368,7 @@ static bool handle_sync_command(int fd, std::vector& buffer) { fail_message(fd, "command read failure"); return false; } - size_t path_length = ltohl(request.path_length); + size_t path_length = request.path_length; if (path_length > 1024) { fail_message(fd, "path too long"); return false; diff --git a/adb/file_sync_service.h b/adb/file_sync_service.h index c0df075f5..67ed3fc14 100644 --- a/adb/file_sync_service.h +++ b/adb/file_sync_service.h @@ -19,9 +19,6 @@ #include -#define htoll(x) (x) -#define ltohl(x) (x) - #define MKID(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((d) << 24)) #define ID_STAT MKID('S','T','A','T')