diff --git a/lib/config/configitembuilder.cpp b/lib/config/configitembuilder.cpp index 6de6af556..967ebb0a2 100644 --- a/lib/config/configitembuilder.cpp +++ b/lib/config/configitembuilder.cpp @@ -105,6 +105,15 @@ ConfigItem::Ptr ConfigItemBuilder::Compile() << ", max: 255).\n" << oss.str(); } + if (std::any_of(m_Name.Begin(), m_Name.End(), [&](char c) { return std::iscntrl(c, classic); })) { + std::ostringstream oss; + ShowCodeLocation(oss, m_DebugInfo, false); + + Log(LogWarning, "config") + << "Object name of type '" << m_Type->GetName() + << "' contains ctrl or newline characters, which may cause problems in some contexts.\n" << oss.str(); + } + std::vector > exprs; Array::Ptr templateArray = new Array({ m_Name });