From 232fa45d546c8b8665e3f353e3b1d9788b222965 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Thu, 9 May 2024 21:16:32 +0100 Subject: [PATCH] core: fix usage of reserved C++ types --- src/main.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ae4414c..5071167 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -46,6 +46,18 @@ struct { std::vector enums; } XMLDATA; +std::string sanitize(const std::string& in) { + if (in == "namespace") + return "namespace_"; + if (in == "class") + return "class_"; + if (in == "delete") + return "delete_"; + if (in == "new") + return "new_"; + return in; +} + std::string argsToShort(std::vector& args, const std::string& since) { std::string shortt = since; for (auto& a : args) { @@ -174,7 +186,7 @@ void parseXML(pugi::xml_document& doc) { for (auto& arg : rq.children("arg")) { SRequestArgument sargm; - sargm.name = arg.attribute("name").as_string(); + sargm.name = sanitize(arg.attribute("name").as_string()); sargm.wlType = arg.attribute("type").as_string(); sargm.interface = arg.attribute("interface").as_string(); sargm.enumName = arg.attribute("enum").as_string(); @@ -193,7 +205,7 @@ void parseXML(pugi::xml_document& doc) { for (auto& arg : ev.children("arg")) { SRequestArgument sargm; - sargm.name = arg.attribute("name").as_string(); + sargm.name = sanitize(arg.attribute("name").as_string()); sargm.interface = arg.attribute("interface").as_string(); sargm.wlType = arg.attribute("type").as_string(); sargm.enumName = arg.attribute("enum").as_string();