From 75f9e7396e35360f3016cc0cb21e72e20f5d96d5 Mon Sep 17 00:00:00 2001 From: Treeston Date: Sat, 12 Sep 2020 19:42:10 +0200 Subject: [3.3.5] Core/ChatCommands: Show error messages from argument parsers (PR #25443) --- src/server/worldserver/CommandLine/CliRunnable.cpp | 11 +++++------ src/server/worldserver/RemoteAccess/RASession.cpp | 6 +++--- src/server/worldserver/RemoteAccess/RASession.h | 4 ++-- src/server/worldserver/TCSoap/TCSoap.h | 4 ++-- 4 files changed, 12 insertions(+), 13 deletions(-) (limited to 'src/server/worldserver') diff --git a/src/server/worldserver/CommandLine/CliRunnable.cpp b/src/server/worldserver/CommandLine/CliRunnable.cpp index c71213761f2..57ea5916553 100644 --- a/src/server/worldserver/CommandLine/CliRunnable.cpp +++ b/src/server/worldserver/CommandLine/CliRunnable.cpp @@ -92,18 +92,17 @@ int cli_hook_func() #endif -void utf8print(void* /*arg*/, char const* str) +void utf8print(void* /*arg*/, std::string_view str) { #if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS - wchar_t wtemp_buf[6000]; - size_t wtemp_len = 6000-1; - if (!Utf8toWStr(str, strlen(str), wtemp_buf, wtemp_len)) + std::wstring wbuf; + if (!Utf8toWStr(str, wbuf)) return; - wprintf(L"%s", wtemp_buf); + wprintf(L"%s", wbuf.c_str()); #else { - printf("%s", str); + printf(STRING_VIEW_FMT, STRING_VIEW_FMT_ARG(str)); fflush(stdout); } #endif diff --git a/src/server/worldserver/RemoteAccess/RASession.cpp b/src/server/worldserver/RemoteAccess/RASession.cpp index 6c8cb8b3468..0d9531cbe61 100644 --- a/src/server/worldserver/RemoteAccess/RASession.cpp +++ b/src/server/worldserver/RemoteAccess/RASession.cpp @@ -89,7 +89,7 @@ void RASession::Start() _socket.close(); } -int RASession::Send(char const* data) +int RASession::Send(std::string_view data) { std::ostream os(&_writeBuffer); os << data; @@ -204,9 +204,9 @@ bool RASession::ProcessCommand(std::string& command) return false; } -void RASession::CommandPrint(void* callbackArg, char const* text) +void RASession::CommandPrint(void* callbackArg, std::string_view text) { - if (!text || !*text) + if (text.empty()) return; RASession* session = static_cast(callbackArg); diff --git a/src/server/worldserver/RemoteAccess/RASession.h b/src/server/worldserver/RemoteAccess/RASession.h index e775bed5e33..d499727ae9d 100644 --- a/src/server/worldserver/RemoteAccess/RASession.h +++ b/src/server/worldserver/RemoteAccess/RASession.h @@ -42,13 +42,13 @@ public: unsigned short GetRemotePort() const { return _socket.remote_endpoint().port(); } private: - int Send(char const* data); + int Send(std::string_view data); std::string ReadString(); bool CheckAccessLevel(const std::string& user); bool CheckPassword(const std::string& user, const std::string& pass); bool ProcessCommand(std::string& command); - static void CommandPrint(void* callbackArg, char const* text); + static void CommandPrint(void* callbackArg, std::string_view text); static void CommandFinished(void* callbackArg, bool); tcp::socket _socket; diff --git a/src/server/worldserver/TCSoap/TCSoap.h b/src/server/worldserver/TCSoap/TCSoap.h index e45d044983b..be680eb4ba2 100644 --- a/src/server/worldserver/TCSoap/TCSoap.h +++ b/src/server/worldserver/TCSoap/TCSoap.h @@ -38,7 +38,7 @@ class SOAPCommand { } - void appendToPrintBuffer(char const* msg) + void appendToPrintBuffer(std::string_view msg) { m_printBuffer += msg; } @@ -54,7 +54,7 @@ class SOAPCommand return m_success; } - static void print(void* callbackArg, char const* msg) + static void print(void* callbackArg, std::string_view msg) { ((SOAPCommand*)callbackArg)->appendToPrintBuffer(msg); } -- cgit v1.2.3