mirror of https://github.com/OpenTTD/OpenTTD
Codechange: compile-time validate the string format of SlErrorCorruptFmt (#11805)
parent
d005e8f8bd
commit
8b4c5a6269
|
@ -20,15 +20,14 @@ void NORETURN SlErrorCorrupt(const std::string &msg);
|
||||||
* Issue an SlErrorCorrupt with a format string.
|
* Issue an SlErrorCorrupt with a format string.
|
||||||
* @param format_string The formatting string to tell what to do with the remaining arguments.
|
* @param format_string The formatting string to tell what to do with the remaining arguments.
|
||||||
* @param fmt_args The arguments to be passed to fmt.
|
* @param fmt_args The arguments to be passed to fmt.
|
||||||
* @tparam T The type of formatting parameter.
|
|
||||||
* @tparam Args The types of the fmt arguments.
|
* @tparam Args The types of the fmt arguments.
|
||||||
* @note This function does never return as it throws an exception to
|
* @note This function does never return as it throws an exception to
|
||||||
* break out of all the saveload code.
|
* break out of all the saveload code.
|
||||||
*/
|
*/
|
||||||
template <typename T, typename ... Args>
|
template <typename ... Args>
|
||||||
inline void NORETURN SlErrorCorruptFmt(const T &format, Args&&... fmt_args)
|
inline void NORETURN SlErrorCorruptFmt(const fmt::format_string<Args...> format, Args&&... fmt_args)
|
||||||
{
|
{
|
||||||
SlErrorCorrupt(fmt::format(format, fmt_args...));
|
SlErrorCorrupt(fmt::format(format, std::forward<Args>(fmt_args)...));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SAVELOAD_ERROR_HPP */
|
#endif /* SAVELOAD_ERROR_HPP */
|
||||||
|
|
Loading…
Reference in New Issue