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 /testdir/safearg.cwk | |
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 'testdir/safearg.cwk')
-rw-r--r-- | testdir/safearg.cwk | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/testdir/safearg.cwk b/testdir/safearg.cwk new file mode 100644 index 0000000..4f29b9f --- /dev/null +++ b/testdir/safearg.cwk @@ -0,0 +1,14 @@ +#include <safearg.h> + +END { + for (x in ARGV) { + if (x != 0) + printf("ARGV[%s]=%s\n", x, ARGV[x]) + } + for (x in argv) { + if (x != 0) + printf("argv[%s]=%s\n", x, argv[x]) + } + printf("a=%s\n", a) + printf("b=%s\n", a) +} |