[Libguestfs] [PATCH nbdkit 3/4] tests/functions.sh.in: Rename variables $status and $i when running cleanups.
Eric Blake
eblake at redhat.com
Tue May 26 15:25:32 UTC 2020
On 5/22/20 4:32 PM, Richard W.M. Jones wrote:
> This causes conflicts if a cleanup hook happens to use a variable with
> the same name.
I don't envy the debugging you used to finally spot this. Using 'local'
in the cleanup hook helps, but so does this rename, so I like this approach.
> ---
> tests/functions.sh.in | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/tests/functions.sh.in b/tests/functions.sh.in
> index e2ef9701..b5c7d88b 100644
> --- a/tests/functions.sh.in
> +++ b/tests/functions.sh.in
> @@ -43,17 +43,17 @@ cleanup_fn ()
>
> _run_cleanup_hooks ()
> {
> - local status=$? i
> + local _status=$? _i
>
> set +e
> trap '' INT QUIT TERM EXIT ERR
> - echo $0: run cleanup hooks: exit code $status
> + echo $0: run cleanup hooks: exit code $_status
>
> - for (( i = 0; i < ${#_cleanup_hook[@]}; ++i )); do
> - ${_cleanup_hook[i]}
> + for (( _i = 0; _i < ${#_cleanup_hook[@]}; ++_i )); do
> + ${_cleanup_hook[_i]}
> done
>
> - exit $status
> + exit $_status
> }
> trap _run_cleanup_hooks INT QUIT TERM EXIT ERR
>
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
More information about the Libguestfs
mailing list