diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-07-17 18:55:55 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-07-17 18:55:55 -0700 |
commit | 5293e86e5185b959a442633c93445ecfde107d1e (patch) | |
tree | 4a4dfd4b07a85d5243baf5336768a0b53a5ff15c /testcases | |
parent | dcdb116a4ec5106483aeef7f0b4454e7f03b790d (diff) | |
download | cppawk-5293e86e5185b959a442633c93445ecfde107d1e.tar.gz cppawk-5293e86e5185b959a442633c93445ecfde107d1e.tar.bz2 cppawk-5293e86e5185b959a442633c93445ecfde107d1e.zip |
Implement -E option and <safearg.h> header.
The -E option is not passed through to the Awk implementation
any more, which is not particularly useful, because the option
resembles -f, and its argument requires likewise handling.
We achieve the semantics that -E <name> is equivalent to
-f <name> --.
From the GNU Awk user's perspective, this is a regression
in the semantics of -E which also has the effect of suppressing
the processing of arguments which look like variable assignments.
To make up for that, we provide the <safearg.h> header which
suppresses all implicit treatment of the remaining arguments.
Diffstat (limited to 'testcases')
-rw-r--r-- | testcases | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -251,3 +251,36 @@ $cppawk --dump-macros '#define foo_bar 42' | grep foo_bar $cppawk --dump-macros x | (grep -q '#define [A-Za-z]' || echo "clean") : clean +-- +44: +$cppawk -f x -E x +: +ERR +-- +45: +$cppawk -E testdir/program.cwk +: +73 +-- +46: +$cppawk -E testdir/program.cwk -f testdir/program.cwk +: +73 +-- +47: +$cppawk -E testdir/arg.cwk a=3 b=4 testdir/data +: +ARGV[1]=a=3 +ARGV[2]=b=4 +ARGV[3]=testdir/data +a=3 +b=4 +-- +48: +echo | $cppawk -E testdir/safearg.cwk a=3 b=4 testdir/data +: +argv[1]=a=3 +argv[2]=b=4 +argv[3]=testdir/data +a= +b= |