File 0775-erts-Fix-multiple-config-on-windows.patch of Package erlang
From a74ed3b3328f1841014a19adc554d4379f0b35a7 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Thu, 26 Sep 2019 10:57:01 +0200
Subject: [PATCH 3/4] erts: Fix multiple -config on windows
---
erts/etc/common/erlexec.c | 12 +++++++-----
lib/kernel/test/application_SUITE.erl | 5 ++++-
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c
index 477a501876..5f1cf3a7c6 100644
--- a/erts/etc/common/erlexec.c
+++ b/erts/etc/common/erlexec.c
@@ -648,11 +648,13 @@ int main(int argc, char **argv)
error("Conflicting -start_erl and -config options");
if (i+1 >= argc)
usage("-config");
- config_script_cnt++;
- config_scripts = erealloc(config_scripts,
- config_script_cnt * sizeof(char*));
- config_scripts[config_script_cnt-1] = strsave(argv[i+1]);
- i++;
+ do {
+ config_script_cnt++;
+ config_scripts = erealloc(config_scripts,
+ config_script_cnt * sizeof(char*));
+ config_scripts[config_script_cnt-1] = strsave(argv[i+1]);
+ i++;
+ } while (argv[i+1][0] != '-' && argv[i+1][0] != '+');
}
#endif
else {
diff --git a/lib/kernel/test/application_SUITE.erl b/lib/kernel/test/application_SUITE.erl
index 373305c486..6cb20dde03 100644
--- a/lib/kernel/test/application_SUITE.erl
+++ b/lib/kernel/test/application_SUITE.erl
@@ -2095,7 +2095,10 @@ handle_many_config_files(Conf) when is_list(Conf) ->
Config,
" -config " ++ Config ++ " " ++ Config
),
- {ok, [[Config], [Config, Config]]} = rpc:call(Node, init, get_argument, [config]),
+ case rpc:call(Node, init, get_argument, [config]) of
+ {ok, [[Config], [Config, Config]]} -> ok;
+ {ok, [[Config], [Config], [Config]]} -> ok %% This happens on windows
+ end,
stop_node_nice(Node).
%%%-----------------------------------------------------------------
--
2.16.4