cubeb: fix logged source file paths

This commit is contained in:
Shawn Hoffman 2022-07-17 19:12:04 -07:00
parent f0eb7b42e2
commit 0a15d2fcec
2 changed files with 10 additions and 5 deletions

View File

@ -22,6 +22,10 @@ static void LogCallback(const char* format, ...)
if (instance == nullptr)
return;
constexpr auto log_type = Common::Log::LogType::AUDIO;
if (!instance->IsEnabled(log_type))
return;
va_list args;
va_start(args, format);
const char* filename = va_arg(args, const char*) + s_path_cutoff_point;
@ -30,8 +34,8 @@ static void LogCallback(const char* format, ...)
const std::string message = StringFromFormatV(adapted_format.c_str(), args);
va_end(args);
instance->Log(Common::Log::LogLevel::LNOTICE, Common::Log::LogType::AUDIO, filename, lineno,
message.c_str());
instance->LogWithFullPath(Common::Log::LogLevel::LNOTICE, log_type, filename, lineno,
message.c_str());
}
static void DestroyContext(cubeb* ctx)
@ -54,6 +58,8 @@ std::shared_ptr<cubeb> CubebUtils::GetContext()
const char* filename = __FILE__;
const char* match_point = strstr(filename, DIR_SEP "Source" DIR_SEP "Core" DIR_SEP);
if (!match_point)
match_point = strstr(filename, R"(\Source\Core\)");
if (match_point)
{
s_path_cutoff_point = match_point - filename + strlen(DIR_SEP "Externals" DIR_SEP);

View File

@ -39,6 +39,8 @@ public:
static void Shutdown();
void Log(LogLevel level, LogType type, const char* file, int line, const char* message);
void LogWithFullPath(LogLevel level, LogType type, const char* file, int line,
const char* message);
LogLevel GetLogLevel() const;
void SetLogLevel(LogLevel level);
@ -73,9 +75,6 @@ private:
LogManager(LogManager&&) = delete;
LogManager& operator=(LogManager&&) = delete;
void LogWithFullPath(LogLevel level, LogType type, const char* file, int line,
const char* message);
LogLevel m_level;
EnumMap<LogContainer, LogType::WIIMOTE> m_log{};
std::array<LogListener*, LogListener::NUMBER_OF_LISTENERS> m_listeners{};