diff --git a/usr.sbin/bsdconfig/startup/rcvar b/usr.sbin/bsdconfig/startup/rcvar index d90092dcd177..784c433a358c 100755 --- a/usr.sbin/bsdconfig/startup/rcvar +++ b/usr.sbin/bsdconfig/startup/rcvar @@ -197,21 +197,20 @@ while :; do dialog_menu_main || f_die f_dialog_menutag_fetch mtag - case "$mtag" in - "X $msg_exit") break ;; - *) # Anything else is an rcvar to toggle - rcvar="${mtag# }" - f_dialog_menuitem_fetch value + [ "$mtag" = "X $msg_exit" ] && break - # Determine the new [toggled] value to use - case "$value" in - "[X]"*) value="NO" ;; - *) value="YES" - esac + # Anything else is an rcvar to toggle - err=$( f_sysrc_set "$rcvar" "$value" 2>&1 ) || - f_dialog_msgbox "$err" + rcvar="${mtag# }" + f_dialog_menuitem_fetch value + + # Determine the new [toggled] value to use + case "$value" in + "[X]"*) value="NO" ;; + *) value="YES" esac + + err=$( f_sysrc_set "$rcvar" "$value" 2>&1 ) || f_dialog_msgbox "$err" done exit $SUCCESS diff --git a/usr.sbin/bsdconfig/usermgmt/groupdel b/usr.sbin/bsdconfig/usermgmt/groupdel index 905e56fc0fb1..00e10784bce0 100755 --- a/usr.sbin/bsdconfig/usermgmt/groupdel +++ b/usr.sbin/bsdconfig/usermgmt/groupdel @@ -77,13 +77,12 @@ while :; do [ $retval -eq 0 ] || f_die - case "$mtag" in - "X $msg_exit") break ;; - *) # anything else is a group name - $BSDCFG_LIBE/$APP_DIR/groupinput \ - ${USE_XDIALOG:+-X} mode="Delete" group="$mtag" - ;; - esac + [ "$mtag" = "X $msg_exit" ] && break + + # Anything else is a group name + + $BSDCFG_LIBE/$APP_DIR/groupinput \ + ${USE_XDIALOG:+-X} mode="Delete" group="$mtag" done exit $SUCCESS