changeset 566:47978e741803

farray.sh: simplify farray_del() somewhat: use less local variables
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 13 Sep 2024 18:58:31 +0200
parents 55a019e3bddb
children 87bb0185aa07
files share/local-bsdtools/farray.sh
diffstat 1 files changed, 3 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/share/local-bsdtools/farray.sh	Thu Sep 12 00:38:28 2024 +0200
+++ b/share/local-bsdtools/farray.sh	Fri Sep 13 18:58:31 2024 +0200
@@ -492,8 +492,7 @@
 farray_del() {
     local __farr_name __farr_index
 
-    local __farr_token __farr_gvrname __farr_len
-    local __farr_new_len __farr_idx __farr_idx_1 __farr_value
+    local __farr_token __farr_gvrname __farr_len __farr_idx
 
     _farr_array_get_meta "$@"
     __farr_index="${2-}"
@@ -506,20 +505,16 @@
 	_farr_fatal "array index out of bounds"
     fi
 
-    __farr_new_len=$((__farr_len - 1))
     __farr_idx=${__farr_index}
-    __farr_idx_1=$((__farr_idx + 1))
     while [ ${__farr_idx} -lt ${__farr_len} ]; do
         # copy the following value to the current index
-        eval __farr_value=\"\$\{${__farr_gvrname}_${__farr_idx_1}\}\"
-        eval ${__farr_gvrname}_${__farr_idx}="$(_farr_quote_for_eval "${__farr_value}")"
+        eval ${__farr_gvrname}_${__farr_idx}=\"\$\{${__farr_gvrname}_$((__farr_idx + 1))\}\"
         __farr_idx=$((__farr_idx + 1))
-        __farr_idx_1=$((__farr_idx + 1))
     done
     # Drop the last item
     eval unset ${__farr_gvrname}_${__farr_idx}
     # Set the new length
-    eval ${__farr_gvrname}__=${__farr_new_len}
+    eval ${__farr_gvrname}__=$((__farr_len - 1))
 }