From 7d108eb8706962abc74705bedfc60cfc3f296ea6 Mon Sep 17 00:00:00 2001 From: Teemu Ollakka Date: Tue, 19 Mar 2024 10:20:29 +0200 Subject: [PATCH] Rename reported log_msg struct to log_msg_t MySQL defines a macro log_msg in one of its headers, which causes log_msg to be replaced with different symbol in some compilation units. Fix by renaming the struct to log_msg_t to avoid the conflict. --- include/wsrep/reporter.hpp | 16 ++++++++-------- src/reporter.cpp | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/wsrep/reporter.hpp b/include/wsrep/reporter.hpp index 3e8c700..05cc523 100644 --- a/include/wsrep/reporter.hpp +++ b/include/wsrep/reporter.hpp @@ -105,21 +105,21 @@ namespace wsrep typedef struct { double tstamp; std::string msg; - } log_msg; + } log_msg_t ; - std::deque err_msg_; - std::deque warn_msg_; - std::deque events_; + std::deque err_msg_; + std::deque warn_msg_; + std::deque events_; size_t const max_msg_; static void write_log_msg(std::ostream& os, - const log_msg& msg); + const log_msg_t& msg); static void write_event(std::ostream& os, - const log_msg& msg); + const log_msg_t& msg); static void write_array(std::ostream& os, const std::string& label, - const std::deque& events, + const std::deque& events, void (*element_writer)(std::ostream& os, - const log_msg& msg)); + const log_msg_t& msg)); substates substate_map(enum server_state::state state); float progress_map(float progress) const; void write_file(double timestamp); diff --git a/src/reporter.cpp b/src/reporter.cpp index 511ef81..3b21a19 100644 --- a/src/reporter.cpp +++ b/src/reporter.cpp @@ -176,7 +176,7 @@ static std::string escape_json(const std::string& str) void wsrep::reporter::write_log_msg(std::ostream& os, - const log_msg& msg) + const log_msg_t& msg) { os << "\t\t{\n"; os << "\t\t\t\"timestamp\": " << std::showpoint << std::setprecision(18) @@ -187,7 +187,7 @@ wsrep::reporter::write_log_msg(std::ostream& os, void wsrep::reporter::write_event(std::ostream& os, - const log_msg& msg) + const log_msg_t& msg) { os << "\t\t{\n"; os << "\t\t\t\"timestamp\": " << std::showpoint << std::setprecision(18) @@ -199,9 +199,9 @@ wsrep::reporter::write_event(std::ostream& os, void wsrep::reporter::write_array(std::ostream& os, const std::string& label, - const std::deque& msgs, + const std::deque& msgs, void (*element_writer)(std::ostream& os, - const log_msg& msg)) + const log_msg_t& msg)) { os << "\t\"" << label << "\": [\n"; for (size_t i(0); i < msgs.size(); ++i) @@ -351,7 +351,7 @@ wsrep::reporter::report_log_msg(log_level const lvl, const std::string& msg, double tstamp) { - std::deque& deque(lvl == error ? err_msg_ : warn_msg_); + std::deque& deque(lvl == error ? err_msg_ : warn_msg_); wsrep::unique_lock lock(mutex_); @@ -363,7 +363,7 @@ wsrep::reporter::report_log_msg(log_level const lvl, /* Log messages are not expected to be json formatted, so we escape the message strings here to keep the report file well formatted. */ - log_msg entry({tstamp, escape_json(msg)}); + log_msg_t entry({tstamp, escape_json(msg)}); deque.push_back(entry); write_file(tstamp); }