Break arguments on any whitespace. Also allow commandline arguments to
override ini arguments. Fixes #180.
This commit is contained in:
parent
81d7db279b
commit
8fb9a05f7d
|
@ -105,7 +105,7 @@ static void AppendIniArgs(const char *filename, Arglist &Args)
|
|||
PHYSFSX_gets_line_t<1024> line;
|
||||
while (Args.size() < MAX_ARGS && PHYSFSX_fgets(line, f))
|
||||
{
|
||||
const auto separator = " ";
|
||||
const auto separator = " \t\n\v\f\r";
|
||||
for(char *token = strtok(line, separator); token != NULL; token = strtok(NULL, separator))
|
||||
{
|
||||
if (*token == ';')
|
||||
|
@ -448,13 +448,6 @@ bool InitArgs( int argc,char **argv )
|
|||
|
||||
Inilist ini;
|
||||
try {
|
||||
{
|
||||
Arglist Args;
|
||||
Args.reserve(argc);
|
||||
range_for (auto &i, unchecked_partial_range(argv, 1u, static_cast<unsigned>(argc)))
|
||||
Args.push_back(i);
|
||||
ReadCmdArgs(ini, Args);
|
||||
}
|
||||
{
|
||||
assert(ini.empty());
|
||||
#if defined(DXX_BUILD_DESCENT_I)
|
||||
|
@ -465,6 +458,13 @@ bool InitArgs( int argc,char **argv )
|
|||
ini.emplace_back(INI_FILENAME);
|
||||
ReadIniArgs(ini);
|
||||
}
|
||||
{
|
||||
Arglist Args;
|
||||
Args.reserve(argc);
|
||||
range_for (auto &i, unchecked_partial_range(argv, 1u, static_cast<unsigned>(argc)))
|
||||
Args.push_back(i);
|
||||
ReadCmdArgs(ini, Args);
|
||||
}
|
||||
PostProcessGameArg();
|
||||
return true;
|
||||
} catch(const missing_parameter& e) {
|
||||
|
|
Loading…
Reference in a new issue