From 86058dc504448656d9fd92d3022cea0ccf80946d Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 13 Dec 2022 10:38:02 +0000 Subject: Show the system error message when loading modules fails. --- src/modulemanager.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/modulemanager.cpp') diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp index 987cbb04c..f44a7ca7b 100644 --- a/src/modulemanager.cpp +++ b/src/modulemanager.cpp @@ -133,7 +133,15 @@ void ModuleManager::LoadCoreModules(std::map& servicem std::vector files; if (!FileSystem::GetFileList(ServerInstance->Config->Paths.Module, files, "core_*.so")) { - std::cout << "failed!" << std::endl; +#ifdef _WIN32 + DWORD errcode = GetLastError(); + char errmsg[500]; + if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errcode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)errmsg, _countof(errmsg), NULL) == 0) + sprintf_s(errmsg, _countof(errmsg), "Error code: %u", errcode); +#else + char* errmsg = strerror(errno); +#endif + std::cout << "failed: " << errmsg << "!" << std::endl; ServerInstance->Exit(EXIT_STATUS_MODULE); } -- cgit v1.3.1-10-gc9f91