diff --git a/src/common/communication.h b/src/common/communication.h index 6966428b..c5ef24d1 100644 --- a/src/common/communication.h +++ b/src/common/communication.h @@ -165,11 +165,11 @@ void passthrough_event(boost::asio::local::stream_protocol::socket& socket, } void* data = std::visit( - overload{[&](std::nullptr_t) -> void* { return nullptr; }, - [&](std::string s) -> void* { + overload{[&](const std::nullptr_t&) -> void* { return nullptr; }, + [&](const std::string& s) -> void* { return const_cast(s.c_str()); }, - [&](std::array buffer) -> void* { + [&](std::array& buffer) -> void* { return buffer.data(); }}, event.payload); diff --git a/src/common/logging.cpp b/src/common/logging.cpp index e14d235d..77db395c 100644 --- a/src/common/logging.cpp +++ b/src/common/logging.cpp @@ -142,13 +142,16 @@ void Logger::log_event(bool is_dispatch, << ", option = " << option << ", data = "; std::visit( - overload{[&](std::nullptr_t) { message << ""; }, - [&](std::string s) { message << "\"" << s << "\""; }, - [&](std::array) { - message << ""; - }}, + overload{ + [&](const std::nullptr_t&) { message << ""; }, + [&](const std::string& s) { message << "\"" << s << "\""; }, + [&](const std::array&) { + message << ""; + }}, payload); + message << ")"; + log(message.str()); } }