From 3ca9db5e8a1a33ea5ad0f4fb8f347623bae09799 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Thu, 18 Mar 2021 01:26:05 -0500 Subject: [PATCH] [ox/std] Add oxError and oxErrorf --- deps/ox/src/ox/std/trace.hpp | 3 +++ deps/ox/src/ox/std/tracehook.cpp | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/deps/ox/src/ox/std/trace.hpp b/deps/ox/src/ox/std/trace.hpp index b47b93f2..51707de2 100644 --- a/deps/ox/src/ox/std/trace.hpp +++ b/deps/ox/src/ox/std/trace.hpp @@ -175,6 +175,9 @@ void init(); #define oxTracef(ch, fmt, ...) ox::trace::TraceStream(__FILE__, __LINE__, ch, ox::detail::fmtSegments(fmt), ##__VA_ARGS__) #endif +#define oxError(...) oxTrace("error", __VA_ARGS__) +#define oxErrorf(...) oxTracef("error", __VA_ARGS__) + #ifndef OX_NODEBUG #define oxDebug(...) oxTrace("debug", __VA_ARGS__) #define oxDebugf(...) oxTracef("debug", __VA_ARGS__) diff --git a/deps/ox/src/ox/std/tracehook.cpp b/deps/ox/src/ox/std/tracehook.cpp index c580aae9..cb76e8e5 100644 --- a/deps/ox/src/ox/std/tracehook.cpp +++ b/deps/ox/src/ox/std/tracehook.cpp @@ -15,6 +15,8 @@ static const auto OxPrintTrace = std::getenv("OXTRACE") != nullptr; constexpr auto OxPrintTrace = false; #endif +#include "strops.hpp" + extern "C" { void oxTraceInitHook() { @@ -27,6 +29,10 @@ void oxTraceHook([[maybe_unused]] const char *file, [[maybe_unused]] int line, std::cout << std::setw(53) << std::left << ch << "| "; std::cout << std::setw(65) << std::left << msg << '|'; std::cout << " " << file << ':' << line << "\n"; + } else if (ox_strcmp(ch, "debug") == 0) { + std::cout << msg << '\n'; + } else if (ox_strcmp(ch, "error") == 0) { + std::cerr << "\033[31;1;1mERROR:\033[0m (" << file << ':' << line << "): " << msg << '\n'; } #endif }