From 64d0da2d0a12d55f455e912d9daceae8d3fac30d Mon Sep 17 00:00:00 2001 From: Jernej Jakob Date: Sat, 29 Feb 2020 23:42:02 +0100 Subject: T2072: partially fix completion for values with spaces This fixes the help display, command completion still doesn't work. --- functions/interpreter/vyatta-common | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/functions/interpreter/vyatta-common b/functions/interpreter/vyatta-common index c6e645f..f08d983 100644 --- a/functions/interpreter/vyatta-common +++ b/functions/interpreter/vyatta-common @@ -33,11 +33,11 @@ get_prefix_filtered_list () eval "olist=( \"\${$2[@]}\" )" local idx=0 for elem in "${olist[@]}"; do - local sub=${elem#$pfx} + local sub="${elem#$pfx}" if [[ "$elem" == "$sub" ]] && [[ -n "$pfx" ]]; then continue fi - eval "$3[$idx]=\"$elem\"" + eval "$3[$idx]=\$elem" (( idx++ )) done } @@ -59,21 +59,21 @@ get_prefix_filtered_list2 () for (( orig_idx = 0; orig_idx < orig_len; orig_idx++ )); do eval "local elem=\${$2[$orig_idx]}" eval "local elem2=\${$4[$orig_idx]}" - local sub=${elem#$pfx} + local sub="${elem#$pfx}" if [[ "$elem" == "$sub" ]] && [[ -n "$pfx" ]]; then continue fi - eval "$3[$idx]=\"$elem\"" - eval "$5[$idx]=\"$elem2\"" + eval "$3[$idx]=\$elem" + eval "$5[$idx]=\$elem2" (( idx++ )) done } is_elem_of () { - local elem=$1 + local elem="$1" local -a olist eval "olist=( \"\${$2[@]}\" )" - for e in ${olist[*]}; do + for e in "${olist[@]}"; do if [[ "$e" == "$elem" ]]; then return 0 fi -- cgit v1.2.3