Console: check_caches should also log failure messages to the console
This commit is contained in:
@@ -3022,7 +3022,10 @@ DEF_CONSOLE_CMD(ConCheckCaches)
|
||||
if (broadcast) {
|
||||
DoCommandP(0, 0, 0, CMD_DESYNC_CHECK);
|
||||
} else {
|
||||
CheckCaches(true, nullptr, CHECK_CACHE_ALL | CHECK_CACHE_EMIT_LOG);
|
||||
auto logger = [&](const char *str) {
|
||||
IConsolePrint(CC_WARNING, str);
|
||||
};
|
||||
CheckCaches(true, logger, CHECK_CACHE_ALL | CHECK_CACHE_EMIT_LOG);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@@ -1473,8 +1473,11 @@ void CheckCaches(bool force_check, std::function<void(const char *)> log, CheckC
|
||||
}
|
||||
|
||||
std::vector<std::string> saved_messages;
|
||||
std::function<void(const char *)> log_orig;
|
||||
if (flags & CHECK_CACHE_EMIT_LOG) {
|
||||
log = [&saved_messages](const char *str) {
|
||||
log_orig = std::move(log);
|
||||
log = [&saved_messages, &log_orig](const char *str) {
|
||||
if (log_orig) log_orig(str);
|
||||
saved_messages.emplace_back(str);
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user