]> git.ipfire.org Git - thirdparty/bash.git/blame - tests/nameref21.sub
bash-5.1 distribution sources and documentation
[thirdparty/bash.git] / tests / nameref21.sub
CommitLineData
8868edaf
CR
1# This program is free software: you can redistribute it and/or modify
2# it under the terms of the GNU General Public License as published by
3# the Free Software Foundation, either version 3 of the License, or
4# (at your option) any later version.
5#
6# This program is distributed in the hope that it will be useful,
7# but WITHOUT ANY WARRANTY; without even the implied warranty of
8# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9# GNU General Public License for more details.
10#
11# You should have received a copy of the GNU General Public License
12# along with this program. If not, see <http://www.gnu.org/licenses/>.
13#
d233b485
CR
14# issues with local variables and local namerefs post-bash-4.4
15
16f()
17{
18 local -n ref=var
19 local -A ref=([1]=)
20# declare -p ref var
21 ref=([2]=)
22 declare -p ref var
23}
24
25unset ref var
26f
27
28unset ref; var=0
29f
30
31unset var
32unset -f f
33
34f()
35{
36 local -n ref=var
37 local -a ref=([1]=)
38 ref=([2]=)
39 declare -p ref var
40}
41
42unset ref var
43f
44
45unset ref; var=0
46f
47
48unset var
49unset -f f
50
51f() { local -n ref=var; local -i ref=([1]=); declare -p ref var; }
52
53unset var
54f
55
56var=0
57f
58
59unset var
60unset -f f
61
62f() { local -n ref=var; local ref=1; declare -p ref var; }
63
64var=0
65f
66
67unset var
68unset -f f
69