Fix MakeGen crashing when entering invalid filepaths in dependency

This commit is contained in:
Thraix
2020-03-01 21:01:27 +01:00
parent 4b48413941
commit f2afec473f
5 changed files with 21 additions and 11 deletions
+4 -2
View File
@@ -333,6 +333,8 @@ std::optional<ConfigFile> ConfigFile::GetConfigFile(const std::string& filepath)
std::optional<ConfigFile> ConfigFile::GetConfigFile(const std::string& filepath, std::map<std::string, ConfigFile>& loadedConfigs)
{
std::string realPath = FileUtils::GetRealPath(filepath);
if(realPath == "")
return {};
auto it = loadedConfigs.find(realPath);
if(it != loadedConfigs.end())
{
@@ -471,7 +473,7 @@ ConfigFile ConfigFile::Gen()
configuration.AddXMLObject(XMLObject("srcdir", {}, srcdir));
configuration.AddXMLObject(XMLObject("outputdir", {}, outputdir));
configuration.AddXMLObject(XMLObject("hfilename", {}, hFile));
configuration.AddXMLObject(XMLObject("outputtype", {},
configuration.AddXMLObject(XMLObject("outputtype", {},
executable ? "executable" : (shared ? "sharedlibrary" : "staticlibrary")));
configuration.AddXMLObject(XMLObject("generatehfile", {}, generateHFile ? "true" : "false"));
@@ -489,7 +491,7 @@ ConfigFile ConfigFile::Gen()
configuration.AddXMLObject({"dependency",{},*it});
makegen.AddXMLObject(configuration);
return ConfigFile{makegen, FileUtils::GetRealPath("./")};
return ConfigFile{makegen, FileUtils::GetRealPath(".")};
}
void ConfigFile::Save() const