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) {
|
if (broadcast) {
|
||||||
DoCommandP(0, 0, 0, CMD_DESYNC_CHECK);
|
DoCommandP(0, 0, 0, CMD_DESYNC_CHECK);
|
||||||
} else {
|
} 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;
|
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::vector<std::string> saved_messages;
|
||||||
|
std::function<void(const char *)> log_orig;
|
||||||
if (flags & CHECK_CACHE_EMIT_LOG) {
|
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);
|
saved_messages.emplace_back(str);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user