summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authordteske <dteske@FreeBSD.org>2013-06-09 15:36:13 +0000
committerdteske <dteske@FreeBSD.org>2013-06-09 15:36:13 +0000
commit685cb19de6ad1fcf74f8b7461efc326a6a68c10d (patch)
tree5025b88da477ab8a86321b09dd82a5399e2d84ba /usr.sbin
parent6d7e4bda619a0f4b6830347b67add508914609de (diff)
downloadFreeBSD-src-685cb19de6ad1fcf74f8b7461efc326a6a68c10d.zip
FreeBSD-src-685cb19de6ad1fcf74f8b7461efc326a6a68c10d.tar.gz
Fix a bug introduced by r251236; product of bug was the following error in
"Startup"->"View/Edit Startup Configuration"->"Add New"->"Add From List": [: -eq: unexpected operator NOTE: Previously mentioned in r251557 Problem caused by removal of $retval to capture exit status of call to f_dialog_input_rclist(). While we're here, enhance f_dialog_input_rclist() to accept a default-item to make selecting multiple values to-add more efficient.
Diffstat (limited to 'usr.sbin')
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcadd14
-rw-r--r--usr.sbin/bsdconfig/startup/share/rcconf.subr6
2 files changed, 10 insertions, 10 deletions
diff --git a/usr.sbin/bsdconfig/startup/rcadd b/usr.sbin/bsdconfig/startup/rcadd
index dd3aeb2..eb4c3d9 100755
--- a/usr.sbin/bsdconfig/startup/rcadd
+++ b/usr.sbin/bsdconfig/startup/rcadd
@@ -120,27 +120,25 @@ while :; do
case "$mtag" in
1) # Add From List
- # Loop for easy return
+ # Loop to allow adding multiple variables quickly
+ defaultitem=
while :; do
- f_dialog_input_rclist || break
+ f_dialog_input_rclist "$defaultitem" || f_die
f_dialog_menutag_fetch mtag
+ defaultitem="$mtag"
case "$mtag" in
"X $msg_exit" ) break ;;
*) # Anything else is a directive
rcvar="${mtag# }"
$BSDCFG_LIBE/$APP_DIR/rcedit \
- ${USE_XDIALOG:+-X} \
- "$rcvar" || continue
+ ${USE_XDIALOG:+-X} "$rcvar"
esac
- break
done
- [ $retval -eq 0 ] || continue
;;
2) # Add Custom
f_dialog_input_rcvar || continue
- $BSDCFG_LIBE/$APP_DIR/rcedit ${USE_XDIALOG:+-X} "$rcvar" ||
- continue
+ $BSDCFG_LIBE/$APP_DIR/rcedit ${USE_XDIALOG:+-X} "$rcvar"
;;
esac
done
diff --git a/usr.sbin/bsdconfig/startup/share/rcconf.subr b/usr.sbin/bsdconfig/startup/share/rcconf.subr
index 72d94cb..bb8237f 100644
--- a/usr.sbin/bsdconfig/startup/share/rcconf.subr
+++ b/usr.sbin/bsdconfig/startup/share/rcconf.subr
@@ -365,12 +365,12 @@ f_dialog_input_view_details()
esac
}
-# f_dialog_input_rclist
+# f_dialog_input_rclist [$default]
#
# Presents a menu of rc.conf(5) defaults (with, or without descriptions). This
# function should be treated like a call to dialog(1) (the exit status should
# be captured and f_dialog_menutag_fetch() should be used to get the user's
-# response).
+# response). Optionally if present and non-null, highlight $default rcvar.
#
f_dialog_input_rclist()
{
@@ -378,6 +378,7 @@ f_dialog_input_rclist()
local menu_list="
'X $msg_exit' '' ${SHOW_DESC:+'$msg_exit_this_menu'}
" # END-QUOTE
+ local defaultitem="$1"
local hline="$hline_arrows_tab_enter"
if [ ! "$_RCCONF_MAP" ]; then
@@ -434,6 +435,7 @@ f_dialog_input_rclist()
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
+ --default-item \"\$defaultitem\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
${SHOW_DESC:+--item-help} \
OpenPOWER on IntegriCloud