diff --git a/source.list b/source.list index 26a7a0aa24..0fa314996c 100644 --- a/source.list +++ b/source.list @@ -344,6 +344,7 @@ story_type.h strgen/strgen.h string_base.h string_func.h +string_func_extra.h string_type.h stringfilter_type.h strings_func.h diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index a94bbf785f..a6472f4fc3 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -41,6 +41,7 @@ #include "../fileio_func.h" #include "../gamelog.h" #include "../string_func.h" +#include "../string_func_extra.h" #include "../fios.h" #include "../error.h" diff --git a/src/string_func.h b/src/string_func.h index 70214ff8d1..f5dd289499 100644 --- a/src/string_func.h +++ b/src/string_func.h @@ -27,7 +27,6 @@ #define STRING_FUNC_H #include -#include #include "core/bitmath_func.hpp" #include "string_type.h" @@ -56,13 +55,6 @@ static inline void str_validate(char *str, const char *last, StringValidationSet *str_validate_intl(str, last, settings) = '\0'; } -static inline void str_validate(std::string &str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK) -{ - if (str.empty()) return; - char *buf = const_cast(str.c_str()); - str.resize(str_validate_intl(buf, buf + str.size(), settings) - buf); -} - void ValidateString(const char *str); void str_fix_scc_encoded(char *str, const char *last); diff --git a/src/string_func_extra.h b/src/string_func_extra.h new file mode 100644 index 0000000000..9c320f3ea2 --- /dev/null +++ b/src/string_func_extra.h @@ -0,0 +1,23 @@ +/* $Id$ */ + +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +#ifndef STRING_FUNC_EXTRA_H +#define STRING_FUNC_EXTRA_H + +#include "string_func.h" +#include + +static inline void str_validate(std::string &str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK) +{ + if (str.empty()) return; + char *buf = const_cast(str.c_str()); + str.resize(str_validate_intl(buf, buf + str.size(), settings) - buf); +} + +#endif /* STRING_FUNC_EXTRA_H */