changeset 762:b72c111e1b76

farray.sh: When moving entries in the binary search list do not store into an intermediate variable. Use "eval" to retrieve and store directly.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 21 Oct 2024 14:45:13 +0200
parents c14c7b5b5fea
children 9ded61e89712
files share/local-bsdtools/farray.sh
diffstat 1 files changed, 2 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/share/local-bsdtools/farray.sh	Sun Oct 20 18:38:12 2024 +0200
+++ b/share/local-bsdtools/farray.sh	Mon Oct 21 14:45:13 2024 +0200
@@ -2684,8 +2684,7 @@
                 #
                 __farr_tmp_bsidx="${__farr_bslen}"
                 while [ "${__farr_tmp_bsidx}" -ge "${__farr_bsidx}" ]; do
-                    eval __farr_tmp_key=\"\$\{"${__farr_bskeyname}"_"${__farr_tmp_bsidx}"\}\"
-                    setvar "${__farr_bskeyname}_$((__farr_tmp_bsidx + 1))" "${__farr_tmp_key}"
+                    eval "${__farr_bskeyname}"_$((__farr_tmp_bsidx + 1))=\"\$\{"${__farr_bskeyname}"_"${__farr_tmp_bsidx}"\}\"
                     __farr_tmp_bsidx=$((__farr_tmp_bsidx - 1))
                 done
                 setvar "${__farr_bskeyname}_${__farr_bsidx}" "${__farr_sptr};V@${__farr_key}"
@@ -2916,8 +2915,7 @@
                 #
                 __farr_tmp_bsidx="${__farr_bslen}"
                 while [ "${__farr_tmp_bsidx}" -ge "${__farr_bsidx}" ]; do
-                    eval __farr_tmp_key=\"\$\{"${__farr_bskeyname}"_"${__farr_tmp_bsidx}"\}\"
-                    setvar "${__farr_bskeyname}_$((__farr_tmp_bsidx + 1))" "${__farr_tmp_key}"
+                    eval "${__farr_bskeyname}"_$((__farr_tmp_bsidx + 1))=\"\$\{"${__farr_bskeyname}"_"${__farr_tmp_bsidx}"\}\"
                     __farr_tmp_bsidx=$((__farr_tmp_bsidx - 1))
                 done
                 setvar "${__farr_bskeyname}_${__farr_bsidx}" "${__farr_sptr};V@${__farr_key}"