Fix stdout/stderr logs

This commit is contained in:
Ivan Chikish 2023-07-26 18:43:25 +03:00
parent 46707f1c22
commit a2173d1336
2 changed files with 6 additions and 4 deletions

View file

@ -11,10 +11,11 @@ struct StderrDevice : public IoDevice {
static std::int64_t stderr_instance_write(IoDeviceInstance *instance,
const void *data,
std::uint64_t size) {
if (size)
static const bool istty = isatty(fileno(stderr));
if (size && istty)
std::fprintf(stderr, "\e[0;35m");
auto result = std::fwrite(data, 1, size, stderr);
if (size)
if (size && istty)
std::fprintf(stderr, "\e[0m");
std::fflush(stderr);

View file

@ -11,10 +11,11 @@ struct StdoutDevice : public IoDevice {
static std::int64_t stdout_instance_write(IoDeviceInstance *instance,
const void *data,
std::uint64_t size) {
if (size)
static const bool istty = isatty(fileno(stdout));
if (size && istty)
std::fprintf(stdout, "\e[30;1m");
auto result = std::fwrite(data, 1, size, stdout);
if (size)
if (size && istty)
std::fprintf(stdout, "\e[0m");
std::fflush(stdout);