# HG changeset patch # User Franz Glasner # Date 1726246711 -7200 # Node ID 47978e741803b20ee46b24fd25af79d0e854380d # Parent 55a019e3bddba6e690b33ee370decb9a0a09f4df farray.sh: simplify farray_del() somewhat: use less local variables diff -r 55a019e3bddb -r 47978e741803 share/local-bsdtools/farray.sh --- 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)) }