From 93e5e92b0ae7809ee0f64d94d51e210c476ee823 Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Wed, 3 Dec 2025 16:01:45 +0000 Subject: crashReporter: cleanup code (#12534) various code cleanups, reorders, move off of global NS --- src/debug/crash/SignalSafe.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/debug/crash/SignalSafe.cpp (limited to 'src/debug/crash/SignalSafe.cpp') diff --git a/src/debug/crash/SignalSafe.cpp b/src/debug/crash/SignalSafe.cpp new file mode 100644 index 00000000..22717f1b --- /dev/null +++ b/src/debug/crash/SignalSafe.cpp @@ -0,0 +1,34 @@ +#include "SignalSafe.hpp" + +#ifndef __GLIBC__ +#include +#endif +#include +#include +#include + +using namespace SignalSafe; + +// NOLINTNEXTLINE +extern "C" char** environ; + +// +char const* SignalSafe::getenv(char const* name) { + const size_t len = strlen(name); + for (char** var = environ; *var != nullptr; var++) { + if (strncmp(*var, name, len) == 0 && (*var)[len] == '=') { + return (*var) + len + 1; + } + } + return nullptr; +} + +char const* SignalSafe::strsignal(int sig) { +#ifdef __GLIBC__ + return sigabbrev_np(sig); +#elif defined(__DragonFly__) || defined(__FreeBSD__) + return sys_signame[sig]; +#else + return "unknown"; +#endif +} -- cgit v1.2.3