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>
This commit is contained in:
Spencer Low 2015-01-25 16:57:16 -08:00
parent e862350bb2
commit 0de77ffec6
1 changed files with 6 additions and 2 deletions

View File

@ -1165,7 +1165,9 @@ int readx(int fd, void *ptr, size_t len)
#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 @@ int writex(int fd, const void *ptr, size_t len)
#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);