From fdcf5294b4a60c2a1a75e40442cb09b58e470885 Mon Sep 17 00:00:00 2001 From: An-Cheng Huang Date: Wed, 11 Aug 2010 16:43:54 -0700 Subject: fix for bug 6032 * handle unescaped double quotes in val_help. --- etc/bash_completion.d/20vyatta-cfg | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/etc/bash_completion.d/20vyatta-cfg b/etc/bash_completion.d/20vyatta-cfg index 80e7777..5d48b6e 100755 --- a/etc/bash_completion.d/20vyatta-cfg +++ b/etc/bash_completion.d/20vyatta-cfg @@ -689,11 +689,12 @@ vyatta_parse_tmpl () local vhstr=$(grep '^val_help:' $1 | sed 's/^val_help:[ ]*//; s/[ ]*;[ ]*/;/' \ | while read line; do - if [[ "$line" == *";"* ]]; then - echo "vyatta_cfg_val_type+=( \"${line%%;*}\" )" - echo "vyatta_cfg_val_help+=( \"${line##*;}\" )" + local nl=${line//\'/\'\\\\\\\'\'} + if [[ "$nl" == *";"* ]]; then + echo "vyatta_cfg_val_type+=( '${nl%%;*}' )" + echo "vyatta_cfg_val_help+=( '${nl##*;}' )" else - echo "vyatta_cfg_val_help+=( \"$line\" )" + echo "vyatta_cfg_val_help+=( '$nl' )" fi done) eval "$vhstr" -- cgit v1.2.3