ash: remove superfluous code in arithmetic mode
Based on commits 1a74845, cfc3d6a and ff13779 from
git://git.kernel.org/pub/scm/utils/dash/dash.git by Herbert Xu
function old new delta
evalcommand 1197 1204 +7
localcmd 327 325 -2
readtoken1 3200 3180 -20
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 7/-22) Total: -15 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/shell/ash.c b/shell/ash.c
index d87166c..ee7642a 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -11282,9 +11282,7 @@
goto quotemark;
case CENDQUOTE:
IF_ASH_BASH_COMPAT(bash_dollar_squote = 0;)
- if (eofmark != NULL && arinest == 0
- && varnest == 0
- ) {
+ if (eofmark != NULL && varnest == 0) {
USTPUTC(c, out);
} else {
if (dqvarnest == 0) {
@@ -11320,7 +11318,6 @@
if (pgetc() == ')') {
if (--arinest == 0) {
syntax = prevsyntax;
- dblquote = (syntax == DQSYNTAX);
c = CTLENDARI;
}
} else {
@@ -11645,7 +11642,7 @@
((unsigned char *)stackblock())[typeloc] = subtype | flags;
if (subtype != VSNORMAL) {
varnest++;
- if (dblquote || arinest) {
+ if (dblquote) {
dqvarnest++;
}
}