diff options
author | dteske <dteske@FreeBSD.org> | 2013-06-09 15:36:13 +0000 |
---|---|---|
committer | dteske <dteske@FreeBSD.org> | 2013-06-09 15:36:13 +0000 |
commit | 685cb19de6ad1fcf74f8b7461efc326a6a68c10d (patch) | |
tree | 5025b88da477ab8a86321b09dd82a5399e2d84ba /usr.sbin | |
parent | 6d7e4bda619a0f4b6830347b67add508914609de (diff) | |
download | FreeBSD-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-x | usr.sbin/bsdconfig/startup/rcadd | 14 | ||||
-rw-r--r-- | usr.sbin/bsdconfig/startup/share/rcconf.subr | 6 |
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} \ |