adb: tracing: don't make strings if runtime tracing is disabled
If tracing was not enabled (the ADB_TRACE environment variable was not
set specially), writex() and readx() would still call dump_hex() which
would construct hex tracing strings, which would be immediately
discarded and not printed (because tracing is not enabled).
The fix is to only call dump_hex() if ADB_TRACING evalutes to true, the
same way that dump_packet() is only called if ADB_TRACING evaluates to
true.
Change-Id: I1651680da344389475ebdeea77ba1982960d5764
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
diff --git a/adb/transport.c b/adb/transport.c
index 7db6a47..ffe59da 100644
--- a/adb/transport.c
+++ b/adb/transport.c
@@ -1165,7 +1165,9 @@
#if ADB_TRACE
D("readx: fd=%d wanted=%zu got=%zu\n", fd, len0, len0 - len);
- dump_hex( ptr, len0 );
+ if (ADB_TRACING) {
+ dump_hex( ptr, len0 );
+ }
#endif
return 0;
}
@@ -1177,7 +1179,9 @@
#if ADB_TRACE
D("writex: fd=%d len=%d: ", fd, (int)len);
- dump_hex( ptr, len );
+ if (ADB_TRACING) {
+ dump_hex( ptr, len );
+ }
#endif
while(len > 0) {
r = adb_write(fd, p, len);