Author: dteske
Date: Tue Jun 18 23:18:32 2013
New Revision: 251975
URL: http://svnweb.freebsd.org/changeset/base/251975

Log:
  Perform some code consolidation and replace nested case-statements with
  more logical if-else statements for each menu selection.

Modified:
  head/usr.sbin/bsdconfig/startup/misc

Modified: head/usr.sbin/bsdconfig/startup/misc
==============================================================================
--- head/usr.sbin/bsdconfig/startup/misc        Tue Jun 18 23:14:45 2013        
(r251974)
+++ head/usr.sbin/bsdconfig/startup/misc        Tue Jun 18 23:18:32 2013        
(r251975)
@@ -346,86 +346,90 @@ while :; do
 
        case "$mtag" in
        "X $msg_exit") break ;;
+       ?" [X] "*) toggled=1 ;;
+               *) toggled=  ;;
+       esac
+
+       case "$mtag" in
+       # Simple On/Off toggle bits
        ?" ["?"] $msg_apm")
-               case "$mtag" in
-               ?" [X] "*) err=$( f_sysrc_set apm_enable NO 2>&1 ) ;;
-               ?" [ ] "*) err=$( f_sysrc_set apm_enable YES 2>&1 ) ;;
-               esac
-               [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n" ;;
-       ?" ["?"] $msg_startup_dirs")
-               dialog_input_value \
-                       "$msg_startup_dirs_desc" \
-                       "$( f_sysrc_get local_startup )"
-               if [ $? -eq $SUCCESS ]; then
-                       err=$( f_sysrc_set local_startup "$value" ) ||
-                               f_dialog_msgbox "$err\n"
+               if [ "$toggled" ]; then
+                       err=$( f_sysrc_set apm_enable NO 2>&1 )
+               else
+                       err=$( f_sysrc_set apm_enable YES 2>&1 )
                fi
                ;;
        ?" ["?"] $msg_named")
-               case "$mtag" in
-               ?" [X] "*) err=$( f_sysrc_set named_enable NO 2>&1 ) ;;
-               ?" [ ] "*) err=$( f_sysrc_set named_enable YES 2>&1 ) ;;
-               esac
-               [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n" ;;
-       ?" ["?"] $msg_named_flags")
-               dialog_input_value \
-                       "$msg_named_flags_desc" \
-                       "$( f_sysrc_get named_flags )"
-               if [ $? -eq $SUCCESS ]; then
-                       err=$( f_sysrc_set named_flags "$value" ) ||
-                               f_dialog_msgbox "$err\n"
+               if [ "$toggled" ]; then
+                       err=$( f_sysrc_set named_enable NO 2>&1 )
+               else
+                       err=$( f_sysrc_set named_enable YES 2>&1 )
+               fi
+               ;;
+       ?" ["?"] $msg_accounting")
+               if [ "$toggled" ]; then
+                       err=$( f_sysrc_set accounting_enable NO 2>&1 )
+               else
+                       err=$( f_sysrc_set accounting_enable YES 2>&1 )
                fi
                ;;
+       ?" ["?"] $msg_lpd")
+               if [ "$toggled" ]; then
+                       err=$( f_sysrc_set lpd_enable NO 2>&1 )
+               else
+                       err=$( f_sysrc_set lpd_enable YES 2>&1 )
+               fi
+               ;;
+       ?" ["?"] $msg_sco")
+               if [ "$toggled" ]; then
+                       err=$( f_sysrc_set ibcs2_enable NO 2>&1 )
+               else
+                       err=$( f_sysrc_set ibcs2_enable YES 2>&1 )
+               fi
+               ;;
+       ?" ["?"] $msg_svr4")
+               if [ "$toggled" ]; then
+                       err=$( f_sysrc_set svr4_enable NO 2>&1 )
+               else
+                       err=$( f_sysrc_set svr4_enable YES 2>&1 )
+               fi
+               ;;
+       # Multi-variable On/Off toggle bits
        ?" ["?"] $msg_nis_client")
-               case "$mtag" in
-               ?" [X] "*) err=$( f_sysrc_set nis_client_enable NO 2>&1 ) ;;
-               ?" [ ] "*)
+               if [ "$toggled" ]; then
+                       err=$( f_sysrc_set nis_client_enable NO 2>&1 )
+               else
                        err=$( f_sysrc_set nis_client_enable YES 2>&1 ) \
-                       && err=$( f_sysrc_set rpcbind_enable YES 2>&1 ) ;;
-               esac
-               [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n" ;;
-       ?" ["?"] $msg_nis_domainname")
-               dialog_input_value \
-                       "$msg_nis_domainname_desc" \
-                       "$( f_sysrc_get nisdomainname )"
-               if [ $? -eq $SUCCESS ]; then
-                       err=$( f_sysrc_set nisdomainname "$value" ) ||
-                               f_dialog_msgbox "$err\n"
+                       && err=$( f_sysrc_set rpcbind_enable YES 2>&1 )
                fi
                ;;
        ?" ["?"] $msg_nis_server")
-               case "$mtag" in
-               ?" [X] "*) err=$( f_sysrc_set nis_server_enable NO 2>&1 ) ;;
-               ?" [ ] "*)
+               if [ "$toggled" ]; then
+                       err=$( f_sysrc_set nis_server_enable NO 2>&1 )
+               else
                        err=$( f_sysrc_set nis_server_enable YES 2>&1 ) \
-                       && err=$( f_sysrc_set rpcbind_enable YES 2>&1 ) ;;
-               esac
-               [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n" ;;
-       ?" ["?"] $msg_accounting")
-               case "$mtag" in
-               ?" [X] "*) err=$( f_sysrc_set accounting_enable NO 2>&1 ) ;;
-               ?" [ ] "*) err=$( f_sysrc_set accounting_enable YES 2>&1 ) ;;
-               esac
-               [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n" ;;
-       ?" ["?"] $msg_lpd")
-               case "$mtag" in
-               ?" [X] "*) err=$( f_sysrc_set lpd_enable NO 2>&1 ) ;;
-               ?" [ ] "*) err=$( f_sysrc_set lpd_enable YES 2>&1 ) ;;
-               esac
-               [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n" ;;
-       ?" ["?"] $msg_sco")
-               case "$mtag" in
-               ?" [X] "*) err=$( f_sysrc_set ibcs2_enable NO 2>&1 ) ;;
-               ?" [ ] "*) err=$( f_sysrc_set ibcs2_enable YES 2>&1 ) ;;
-               esac
-               [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n" ;;
-       ?" ["?"] $msg_svr4")
-               case "$mtag" in
-               ?" [X] "*) err=$( f_sysrc_set svr4_enable NO 2>&1 ) ;;
-               ?" [ ] "*) err=$( f_sysrc_set svr4_enable YES 2>&1 ) ;;
-               esac
-               [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n" ;;
+                       && err=$( f_sysrc_set rpcbind_enable YES 2>&1 )
+               fi
+               ;;
+       # Checkboxes for non-boolean options
+       ?" ["?"] $msg_nis_domainname")
+               dialog_input_value "$msg_nis_domainname_desc" \
+                                  "$( f_sysrc_get nisdomainname )" || continue
+               err=$( f_sysrc_set nisdomainname "$value" 2>&1 )
+               ;;
+       ?" ["?"] $msg_startup_dirs")
+               dialog_input_value "$msg_startup_dirs_desc" \
+                                  "$( f_sysrc_get local_startup )" || continue
+               err=$( f_sysrc_set local_startup "$value" 2>&1 )
+               ;;
+       ?" ["?"] $msg_named_flags")
+               dialog_input_value "$msg_named_flags_desc" \
+                                  "$( f_sysrc_get named_flags )" || continue
+               err=$( f_sysrc_set named_flags "$value" 2>&1 )
+               ;;
        esac
+
+       [ $? -eq $SUCCESS ] || f_dialog_msgbox "$err\n"
 done
 
 exit $SUCCESS
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to