Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
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)) }
