summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2016-11-17 15:23:05 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-11-17 15:23:05 +0000
commitc097c79b7787493fec7a097ac2ba603e42e30d0c (patch)
tree62e019dad52759cdf0fdb870245877bd755d5ab1
parent8c41e791ed726449bd51a35f03dd6269274668c0 (diff)
parent538bc12c0807ceb850749b8803546b058e049146 (diff)
Merge "logcat: add hidden --debug flag and cleanup"
-rw-r--r--liblog/logprint.c3
-rw-r--r--liblog/tests/liblog_test.cpp3
-rw-r--r--logcat/logcat.cpp9
3 files changed, 13 insertions, 2 deletions
diff --git a/liblog/logprint.c b/liblog/logprint.c
index 4ff7e01b8..da80e36b8 100644
--- a/liblog/logprint.c
+++ b/liblog/logprint.c
@@ -1055,6 +1055,7 @@ LIBLOG_ABI_PUBLIC int android_log_processBinaryLogBuffer(
outRemaining--;
/* pretend we ate all the data to prevent log stutter */
inCount = 0;
+ if (result > 0) result = 0;
}
/* eat the silly terminating '\n' */
@@ -1078,7 +1079,7 @@ LIBLOG_ABI_PUBLIC int android_log_processBinaryLogBuffer(
entry->message = messageBuf;
- return 0;
+ return result;
}
/*
diff --git a/liblog/tests/liblog_test.cpp b/liblog/tests/liblog_test.cpp
index 9c095234f..70c7a48e7 100644
--- a/liblog/tests/liblog_test.cpp
+++ b/liblog/tests/liblog_test.cpp
@@ -328,6 +328,9 @@ static void bswrite_test(const char *message) {
EXPECT_TRUE(NULL != logformat);
AndroidLogEntry entry;
char msgBuf[1024];
+ if (length != total) {
+ fprintf(stderr, "Expect \"Binary log entry conversion failed\"\n");
+ }
int processBinaryLogBuffer = android_log_processBinaryLogBuffer(
&log_msg.entry_v1, &entry, NULL, msgBuf, sizeof(msgBuf));
EXPECT_EQ((length == total) ? 0 : -1, processBinaryLogBuffer);
diff --git a/logcat/logcat.cpp b/logcat/logcat.cpp
index d0c693d31..41f228009 100644
--- a/logcat/logcat.cpp
+++ b/logcat/logcat.cpp
@@ -81,6 +81,7 @@ static pcrecpp::RE* g_regex;
static size_t g_maxCount;
static size_t g_printCount;
static bool g_printItAnyways;
+static bool g_debug;
enum helpType {
HELP_FALSE,
@@ -188,7 +189,7 @@ static void processBuffer(log_device_t* dev, struct log_msg *buf)
} else {
err = android_log_processLogBuffer(&buf->entry_v1, &entry);
}
- if (err < 0) {
+ if ((err < 0) && !g_debug) {
goto error;
}
@@ -619,6 +620,7 @@ int main(int argc, char **argv)
int option_index = 0;
// list of long-argument only strings for later comparison
static const char pid_str[] = "pid";
+ static const char debug_str[] = "debug";
static const char id_str[] = "id";
static const char wrap_str[] = "wrap";
static const char print_str[] = "print";
@@ -627,6 +629,7 @@ int main(int argc, char **argv)
{ "buffer", required_argument, NULL, 'b' },
{ "buffer-size", optional_argument, NULL, 'g' },
{ "clear", no_argument, NULL, 'c' },
+ { debug_str, no_argument, NULL, 0 },
{ "dividers", no_argument, NULL, 'D' },
{ "file", required_argument, NULL, 'f' },
{ "format", required_argument, NULL, 'v' },
@@ -691,6 +694,10 @@ int main(int argc, char **argv)
g_printItAnyways = true;
break;
}
+ if (long_options[option_index].name == debug_str) {
+ g_debug = true;
+ break;
+ }
if (long_options[option_index].name == id_str) {
setId = optarg && optarg[0] ? optarg : NULL;
break;