From f9dbdbc5f5e2ecfe62617a866b1b18bbd8eb0dbf Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Tue, 21 Feb 2017 14:45:58 -0800 Subject: [PATCH] liblogcat: redirect logcat output correctly for -Q The -Q option is used in emulator and it fails to redirect the output of logcat to the desired file. This CL fixes that problem. There is no gTest because of /proc/cmdline sniffing for this option. manually tested on /dev/qemu_pipe inside emulator Test: manual Bug: 35326290 Change-Id: I282da685e90450aadb2a989a0517dc3b1bb6634d --- logcat/logcat.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/logcat/logcat.cpp b/logcat/logcat.cpp index 15cef1ac2..7f852d4fb 100644 --- a/logcat/logcat.cpp +++ b/logcat/logcat.cpp @@ -1231,8 +1231,11 @@ static int __logcat(android_logcat_context_internal* context) { android::close_error(context); context->stderr_stdout = true; context->output = fp; - context->error = context->output; - if (context->stderr_null) context->error = NULL; + context->output_fd = fileno(fp); + if (context->stderr_null) break; + context->stderr_stdout = true; + context->error = fp; + context->error_fd = fileno(fp); } break;