From 0fe3b0dbaf81f029637ffbeb83687e2a1e267039 Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Mon, 8 Jun 2020 11:49:30 +0430 Subject: [PATCH] functrace: Output colors only when stdout is a tty --- Userland/functrace.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Userland/functrace.cpp b/Userland/functrace.cpp index a282959a6e..3dc34417e4 100644 --- a/Userland/functrace.cpp +++ b/Userland/functrace.cpp @@ -48,6 +48,7 @@ #include OwnPtr g_debug_session; +static bool g_should_output_color = false; static void handle_sigint(int) { @@ -70,8 +71,8 @@ void print_syscall(PtraceRegisters& regs, size_t depth) for (size_t i = 0; i < depth; ++i) { printf(" "); } - const char* begin_color = "\033[34;1m"; - const char* end_color = "\033[0m"; + const char* begin_color = g_should_output_color ? "\033[34;1m" : ""; + const char* end_color = g_should_output_color ? "\033[0m" : ""; printf("=> %sSC_%s(0x%x, 0x%x, 0x%x)%s\n", begin_color, Syscall::to_string( @@ -115,6 +116,9 @@ int main(int argc, char** argv) return 1; } + if (isatty(STDOUT_FILENO)) + g_should_output_color = true; + const char* command = nullptr; Core::ArgsParser args_parser; args_parser.add_positional_argument(command,