summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2019-02-20 23:59:18 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2019-02-20 23:59:18 +0000
commit53c70b64595420002601dd02a171ccc567d23abe (patch)
treeede76686d2414a945cb714ac593fc6594ae56b89 /sys
parent99ce9dd19df4fbc87a94c878fe0a7d2fde694a11 (diff)
When evaluating an arithmetical expression, for example inside $(()),
never do substitution (neither parameter, nor command, nor arithmetic, nor tilde substitution) on the values of any variables encountered inside the expression, but do recursively perform arithmetical evaluation of subexpressions as required. This makes behaviour more consistent, without hindering any behaviour promised in the manual page. A quirk originally reported by Andy Chu <andychup at gmail dot com> was that in the past, when encountering an array index, the shell would not only do evaluation, but also substitution on the array index, even though substitution would not be done on the expression in general. tobias@ contributed to initial efforts of understanding the quirk. patch tested in a bulk build by naddy@ "please commit" deraadt@
Diffstat (limited to 'sys')
0 files changed, 0 insertions, 0 deletions