Fixed port override code.
This commit is contained in:
parent
900d8e78c1
commit
8658d4ddd6
@ -963,6 +963,3 @@ AStringVector ReadUpgradeIniPorts(
|
|||||||
|
|
||||||
return Ports;
|
return Ports;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,31 +108,26 @@ std::vector<std::pair<AString, AString>> cOverridesSettingsRepository::GetValues
|
|||||||
{
|
{
|
||||||
auto overrides = m_Overrides->GetValues(a_keyName);
|
auto overrides = m_Overrides->GetValues(a_keyName);
|
||||||
auto main = m_Main->GetValues(a_keyName);
|
auto main = m_Main->GetValues(a_keyName);
|
||||||
std::sort(overrides.begin(), overrides.end(), [](std::pair<AString, AString> a, std::pair<AString, AString> b) -> bool { return a < b ;});
|
|
||||||
std::sort(main.begin(), main.end(), [](std::pair<AString, AString> a, std::pair<AString, AString> b) -> bool { return a < b ;});
|
|
||||||
|
|
||||||
std::vector<std::pair<AString, AString>> ret;
|
auto ret = overrides;
|
||||||
|
|
||||||
|
for (const auto & mainpair : main)
|
||||||
size_t overridesIndex = 0;
|
|
||||||
for (auto pair : main)
|
|
||||||
{
|
{
|
||||||
if (overridesIndex >= overrides.size())
|
bool found = false;
|
||||||
|
for (const auto & returnpair : ret)
|
||||||
{
|
{
|
||||||
ret.push_back(pair);
|
if (returnpair.first == mainpair.first)
|
||||||
continue;
|
{
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (pair.first == overrides[overridesIndex].first)
|
if (found == false)
|
||||||
{
|
{
|
||||||
continue;
|
ret.push_back(mainpair);
|
||||||
}
|
}
|
||||||
while (pair.first > overrides[overridesIndex].first)
|
|
||||||
{
|
|
||||||
ret.push_back(overrides[overridesIndex]);
|
|
||||||
overridesIndex++;
|
|
||||||
}
|
|
||||||
ret.push_back(pair);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,4 +265,3 @@ bool cOverridesSettingsRepository::Flush()
|
|||||||
{
|
{
|
||||||
return m_Overrides->Flush() && m_Main->Flush();
|
return m_Overrides->Flush() && m_Main->Flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -371,7 +371,7 @@ static std::unique_ptr<cMemorySettingsRepository> ParseArguments(int argc, char
|
|||||||
// Parse the comand line args:
|
// Parse the comand line args:
|
||||||
TCLAP::CmdLine cmd("Cuberite");
|
TCLAP::CmdLine cmd("Cuberite");
|
||||||
TCLAP::ValueArg<int> slotsArg ("s", "max-players", "Maximum number of slots for the server to use, overrides setting in setting.ini", false, -1, "number", cmd);
|
TCLAP::ValueArg<int> slotsArg ("s", "max-players", "Maximum number of slots for the server to use, overrides setting in setting.ini", false, -1, "number", cmd);
|
||||||
TCLAP::MultiArg<int> portsArg ("p", "port", "The port number the server should listen to", false, "port", cmd);
|
TCLAP::MultiArg<int> portsArg ("p", "port", "The port numbers the server should listen to", false, "port", cmd);
|
||||||
TCLAP::SwitchArg commLogArg ("", "log-comm", "Log server client communications to file", cmd);
|
TCLAP::SwitchArg commLogArg ("", "log-comm", "Log server client communications to file", cmd);
|
||||||
TCLAP::SwitchArg commLogInArg ("", "log-comm-in", "Log inbound server client communications to file", cmd);
|
TCLAP::SwitchArg commLogInArg ("", "log-comm-in", "Log inbound server client communications to file", cmd);
|
||||||
TCLAP::SwitchArg commLogOutArg ("", "log-comm-out", "Log outbound server client communications to file", cmd);
|
TCLAP::SwitchArg commLogOutArg ("", "log-comm-out", "Log outbound server client communications to file", cmd);
|
||||||
@ -392,7 +392,7 @@ static std::unique_ptr<cMemorySettingsRepository> ParseArguments(int argc, char
|
|||||||
{
|
{
|
||||||
for (auto port: portsArg.getValue())
|
for (auto port: portsArg.getValue())
|
||||||
{
|
{
|
||||||
repo->AddValue("Server", "Port", static_cast<Int64>(port));
|
repo->AddValue("Server", "Ports", static_cast<Int64>(port));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (commLogArg.getValue())
|
if (commLogArg.getValue())
|
||||||
@ -555,7 +555,3 @@ int main(int argc, char ** argv)
|
|||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user