#include "config.h" #include "except.h" #include #include #include "opthelpers.h" namespace al { void base_exception::setMessage(const char* msg, std::va_list args) { std::va_list args2; va_copy(args2, args); int msglen{std::vsnprintf(nullptr, 0, msg, args)}; if(msglen > 0) [[likely]] { mMessage.resize(static_cast(msglen)+1); std::vsnprintf(&mMessage[0], mMessage.length(), msg, args2); mMessage.pop_back(); } va_end(args2); } } // namespace al