diff options
author | Jing Peng <[email protected]> | 2016-12-09 21:42:45 -0500 |
---|---|---|
committer | Jing Peng <[email protected]> | 2016-12-13 21:09:38 -0500 |
commit | e348250942a3d3fe1c96a6f2e1bfac9b442c9585 (patch) | |
tree | 35e99520f27100fe78751358cfb482caec7dade8 /lib/stdlib/test/escript_SUITE_data | |
parent | b47d104994c6f11301f23b0675ed5f06f3e25922 (diff) | |
download | otp-e348250942a3d3fe1c96a6f2e1bfac9b442c9585.tar.gz otp-e348250942a3d3fe1c96a6f2e1bfac9b442c9585.tar.bz2 otp-e348250942a3d3fe1c96a6f2e1bfac9b442c9585.zip |
Allow escripts with only two lines
The current implementation assumes that escripts all have at least
three lines. But according to the escript documentation, comments
on the second line and emulator flags on the third line are all
optional. Thus escripts with only two lines -- shebang on the
first line and code on the second line -- will not run. This commit
fixes the problem by rearranging the escript header parsing logic,
and recognize the escript body on the second line if the header only
contains a line of shebang.
Diffstat (limited to 'lib/stdlib/test/escript_SUITE_data')
-rwxr-xr-x | lib/stdlib/test/escript_SUITE_data/two_lines | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/stdlib/test/escript_SUITE_data/two_lines b/lib/stdlib/test/escript_SUITE_data/two_lines new file mode 100755 index 0000000000..cf4e99639c --- /dev/null +++ b/lib/stdlib/test/escript_SUITE_data/two_lines @@ -0,0 +1,2 @@ +#! /usr/bin/env escript +main(MainArgs) -> io:format("main:~p\n", [MainArgs]), ErlArgs = init:get_arguments(), io:format("ERL_FLAGS=~p\n", [os:getenv("ERL_FLAGS")]), io:format("unknown:~p\n",[[E || E <- ErlArgs, element(1, E) =:= unknown]]). |