diff options
author | Rickard Green <[email protected]> | 2013-12-13 09:58:11 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2013-12-13 09:58:11 +0100 |
commit | af17798534de376505498b86525ab8618753ebf7 (patch) | |
tree | d8d9c88e3b211bedbb0abad1df8208b81904b998 /erts/etc | |
parent | 458e302f61e2de36ebd49c5a5a5b984224bdce94 (diff) | |
parent | 51918f4322b3d30c89ba9b6ca2fbfe5ad6c6b51b (diff) | |
download | otp-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.c | 30 |
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; |