Fix a bug

Fix a crash when no nodes are found when generating Quantumult (X) node lists.
This commit is contained in:
Tindy X committed 2020-02-26 23:46:54 +08:00
1 parent 4958e30657
commit 0eaec3a162
1 file changed
+12 -8
+12 -8
View File
@@ -1415,11 +1415,13 @@ std::string netchToQuan(std::vector<nodeInfo> &nodes, std::string &base_conf, st
if(ext.nodelist) if(ext.nodelist)
{ {
string_array allnodes; string_array allnodes;
std::string allLinks;
ini.GetAll("SERVER", "{NONAME}", allnodes); ini.GetAll("SERVER", "{NONAME}", allnodes);
std::string allLinks = std::accumulate(std::next(allnodes.begin()), allnodes.end(), allnodes[0], [](std::string a, std::string b) if(allnodes.size())
{ allLinks = std::accumulate(std::next(allnodes.begin()), allnodes.end(), allnodes[0], [](std::string a, std::string b)
return std::move(a) + "\n" + std::move(b); {
}); return std::move(a) + "\n" + std::move(b);
});
return base64_encode(allLinks); return base64_encode(allLinks);
} }
return ini.ToString(); return ini.ToString();
@@ -1639,11 +1641,13 @@ std::string netchToQuanX(std::vector<nodeInfo> &nodes, std::string &base_conf, s
if(ext.nodelist) if(ext.nodelist)
{ {
string_array allnodes; string_array allnodes;
std::string allLinks;
ini.GetAll("server_local", "{NONAME}", allnodes); ini.GetAll("server_local", "{NONAME}", allnodes);
std::string allLinks = std::accumulate(std::next(allnodes.begin()), allnodes.end(), allnodes[0], [](std::string a, std::string b) if(allnodes.size())
{ allLinks = std::accumulate(std::next(allnodes.begin()), allnodes.end(), allnodes[0], [](std::string a, std::string b)
return std::move(a) + "\n" + std::move(b); {
}); return std::move(a) + "\n" + std::move(b);
});
return allLinks; return allLinks;
} }
return ini.ToString(); return ini.ToString();