aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2013-12-13 09:58:11 +0100
committerRickard Green <[email protected]>2013-12-13 09:58:11 +0100
commitaf17798534de376505498b86525ab8618753ebf7 (patch)
treed8d9c88e3b211bedbb0abad1df8208b81904b998 /erts/etc
parent458e302f61e2de36ebd49c5a5a5b984224bdce94 (diff)
parent51918f4322b3d30c89ba9b6ca2fbfe5ad6c6b51b (diff)
downloadotp-af17798534de376505498b86525ab8618753ebf7.tar.gz
otp-af17798534de376505498b86525ab8618753ebf7.tar.bz2
otp-af17798534de376505498b86525ab8618753ebf7.zip
Merge branch 'rickard/otp-17-vsn'
* rickard/otp-17-vsn: Update versions of OTP, erts, kernel, and stdlib
Diffstat (limited to 'erts/etc')
-rw-r--r--erts/etc/common/erlexec.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c
index 00540662fe..1d7811d570 100644
--- a/erts/etc/common/erlexec.c
+++ b/erts/etc/common/erlexec.c
@@ -1972,8 +1972,35 @@ get_file_args(char *filename, argv_buf *abp, argv_buf *xabp)
}
static void
+write_erl_otp_flags(char *bufp)
+{
+ /* ERL_OTP<MAJOR-VSN>_FLAGS */
+ int ix = 0;
+ char *otp_p;
+ char otp[] = OTP_SYSTEM_VERSION;
+
+ bufp[ix++] = 'E';
+ bufp[ix++] = 'R';
+ bufp[ix++] = 'L';
+ bufp[ix++] = '_';
+ bufp[ix++] = 'O';
+ bufp[ix++] = 'T';
+ bufp[ix++] = 'P';
+ for (otp_p = &otp[0]; '0' <= *otp_p && *otp_p <= '9'; otp_p++)
+ bufp[ix++] = *otp_p;
+ bufp[ix++] = '_';
+ bufp[ix++] = 'F';
+ bufp[ix++] = 'L';
+ bufp[ix++] = 'A';
+ bufp[ix++] = 'G';
+ bufp[ix++] = 'S';
+ bufp[ix] = '\0';
+}
+
+static void
initial_argv_massage(int *argc, char ***argv)
{
+ char erl_otp_flags_buf[] = "ERL_OTP" OTP_SYSTEM_VERSION "_FLAGS";
argv_buf ab = {0}, xab = {0};
int ix, vix, ac;
char **av;
@@ -1989,7 +2016,8 @@ initial_argv_massage(int *argc, char ***argv)
vix = 0;
- av = build_args_from_env("ERL_" OTP_SYSTEM_VERSION "_FLAGS");
+ write_erl_otp_flags(erl_otp_flags_buf);
+ av = build_args_from_env(erl_otp_flags_buf);
if (av)
avv[vix++].argv = av;