summaryrefslogtreecommitdiffstats
path: root/tools/android/common
diff options
context:
space:
mode:
Diffstat (limited to 'tools/android/common')
-rw-r--r--tools/android/common/adb_connection.cc11
-rw-r--r--tools/android/common/net.cc15
-rw-r--r--tools/android/common/net.h5
3 files changed, 21 insertions, 10 deletions
diff --git a/tools/android/common/adb_connection.cc b/tools/android/common/adb_connection.cc
index c542d16..4739d1d 100644
--- a/tools/android/common/adb_connection.cc
+++ b/tools/android/common/adb_connection.cc
@@ -83,17 +83,8 @@ int ConnectAdbHostSocket(const char* forward_to) {
kBufferMaxLength, 0));
if (response_length < kAdbStatusLength ||
strncmp("OKAY", response, kAdbStatusLength) != 0) {
- char fail_msg_buffer[kBufferMaxLength * 3 + 1];
- char* p = fail_msg_buffer;
- for (int i = 0; i < response_length; ++i) {
- snprintf(p, 3, "%02x,", static_cast<unsigned char>(response[i]));
- p += 3;
- }
-
- if (p > fail_msg_buffer)
- *(--p) = 0; // Eliminate the last comma.
LOG(ERROR) << "Bad response from ADB: length: " << response_length
- << " data: " << fail_msg_buffer;
+ << " data: " << DumpBinary(response, response_length);
HANDLE_EINTR(close(host_socket));
return -1;
}
diff --git a/tools/android/common/net.cc b/tools/android/common/net.cc
index e50a18a..12bca8e 100644
--- a/tools/android/common/net.cc
+++ b/tools/android/common/net.cc
@@ -9,6 +9,8 @@
#include <sys/socket.h>
#include <sys/types.h>
+#include "base/stringprintf.h"
+
namespace tools {
int DisableNagle(int socket) {
@@ -21,5 +23,18 @@ int DeferAccept(int socket) {
return setsockopt(socket, IPPROTO_TCP, TCP_DEFER_ACCEPT, &on, sizeof(on));
}
+std::string DumpBinary(const char* buffer, size_t length) {
+ std::string result = "[";
+ for (int i = 0; i < length; ++i) {
+ base::StringAppendF(&result, "%02x,",
+ static_cast<unsigned char>(buffer[i]));
+ }
+
+ if (length)
+ result.erase(result.length() - 1);
+
+ return result + "]";
+}
+
} // namespace tools
diff --git a/tools/android/common/net.h b/tools/android/common/net.h
index d17b6f4..091f362 100644
--- a/tools/android/common/net.h
+++ b/tools/android/common/net.h
@@ -6,6 +6,8 @@
#define TOOLS_ANDROID_COMMON_NET_H_
#pragma once
+#include <string>
+
namespace tools {
// DisableNagle can improve TCP transmission performance. Both Chrome net stack
@@ -15,6 +17,9 @@ int DisableNagle(int socket);
// Wake up listener only when data arrive.
int DeferAccept(int socket);
+// Dumps a binary buffer into a string in a human-readable format.
+std::string DumpBinary(const char* buffer, size_t length);
+
} // namespace tools
#endif // TOOLS_ANDROID_COMMON_NET_H_