diff options
author | Jude Melton-Houghton <jwmhjwmh@gmail.com> | 2022-11-24 17:56:43 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-24 17:56:43 -0500 |
commit | 8817af07fb72fd78fb753fe5d069d0a65a79742f (patch) | |
tree | 57b4fc5c96aa4065479a79bcb6001075f9091b72 /src/metadata.cpp | |
parent | 3c7f26d93721d8d86ca5d9e894e8652b1e2a8672 (diff) | |
download | minetest-8817af07fb72fd78fb753fe5d069d0a65a79742f.tar.xz |
Deprecate special handling of `${key}` syntax in metadata values (#12970)
Diffstat (limited to 'src/metadata.cpp')
-rw-r--r-- | src/metadata.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/metadata.cpp b/src/metadata.cpp index d8a41218d..f02495fa4 100644 --- a/src/metadata.cpp +++ b/src/metadata.cpp @@ -51,7 +51,7 @@ const std::string &IMetadata::getString(const std::string &name, std::string *pl return empty_string; } - return resolveString(*raw, place, recursion); + return resolveString(*raw, place, recursion, true); } bool IMetadata::getStringToRef(const std::string &name, @@ -61,16 +61,21 @@ bool IMetadata::getStringToRef(const std::string &name, if (!raw) return false; - const std::string &resolved = resolveString(*raw, &str, recursion); + const std::string &resolved = resolveString(*raw, &str, recursion, true); if (&resolved != &str) str = resolved; return true; } const std::string &IMetadata::resolveString(const std::string &str, std::string *place, - u16 recursion) const + u16 recursion, bool deprecated) const { if (recursion <= 1 && str.substr(0, 2) == "${" && str[str.length() - 1] == '}') { + if (deprecated) { + warningstream << "Deprecated use of recursive resolution syntax in metadata: "; + safe_print_string(warningstream, str); + warningstream << std::endl; + } // It may be the case that &str == place, but that's fine. return getString(str.substr(2, str.length() - 3), place, recursion + 1); } |