Author: dteske
Date: Wed Jan 15 07:49:17 2014
New Revision: 260678
URL: http://svnweb.freebsd.org/changeset/base/260678

Log:
  MFC r259054:
  Performance and debugging enhancements:
  + Remove UNAME_P=$(...) from startup/misc -- already supplied by common.subr
  + Use f_getvar instead of $(eval echo \$$var) -- f_getvar is sub-shell free
  + Add `-e' and `-k var' options to f_eval_catch -- increasing use-cases
  + Use f_eval_catch to display errors on failure -- reducing duplicated code
  + Use f_eval_catch when we need output from a command -- improving debugging
  + Optimize f_isinter of strings.subr for performance -- now sub-shell free
  + Improve error checking on pidfiles -- using f_eval_catch and f_isinteger
  + Use $var_to_set arg of f_ifconfig_{inet,netmask} -- eliminate sub-shells
  + Use f_sprintf instead of $(printf ...) -- consolidate sub-shells
  + Use $var_to_set arg of f_route_get_default -- eliminate sub-shells
  + Add f_count to replace $(set -- ...;echo $#) -- eliminate sub-shells
  + Add f_count_ifs to replace $(IFS=x;set -- ...;echo $#) -- no sub-shells
  + Replace var="$var${var:+ }..." in loops with var="$var ..." with a follow-
    up var="${var# }" to trim leading whitespace -- optimize loops
  + Use $var_to_set arg of f_resolv_conf_nameservers -- eliminate sub-shells
  + Comments for the f_eval_catch function
  + Remove a duplicate `local ... desc ...' in f_device_get_all of device.subr
  + Use $var_to_set arg of f_device_capacity -- eliminate sub-shells
  + Whitespace fixes in f_dialog_init of dialog.subr
  + Optimize f_inet_atoi of media/tcpip.subr for performance -- sub-shell free
  + In several cases, send stderr to /dev/null -- clean up runtime execution
  + Change f_err of common.subr to go to program stderr not terminal stderr,
    allowing redirection of output from functions that use f_err
  + Disable debugging when using f_getvar to get variable argument to
    f_startup_rcconf_map_expand of startup/rcconf.subr
  + Use f_replace_all instead of $(echo ... | tr | sed) -- performance
  + Add a $var_to_set option to f_index_{file,menusel_{command,keyword}} of
    common.subr -- centralize sub-shells

Modified:
  stable/10/usr.sbin/bsdconfig/console/console
  stable/10/usr.sbin/bsdconfig/console/font
  stable/10/usr.sbin/bsdconfig/console/keymap
  stable/10/usr.sbin/bsdconfig/console/repeat
  stable/10/usr.sbin/bsdconfig/console/saver
  stable/10/usr.sbin/bsdconfig/console/screenmap
  stable/10/usr.sbin/bsdconfig/console/ttys
  stable/10/usr.sbin/bsdconfig/diskmgmt/diskmgmt
  stable/10/usr.sbin/bsdconfig/docsinstall/docsinstall
  stable/10/usr.sbin/bsdconfig/dot/dot
  stable/10/usr.sbin/bsdconfig/includes/includes
  stable/10/usr.sbin/bsdconfig/mouse/disable
  stable/10/usr.sbin/bsdconfig/mouse/enable
  stable/10/usr.sbin/bsdconfig/mouse/flags
  stable/10/usr.sbin/bsdconfig/mouse/mouse
  stable/10/usr.sbin/bsdconfig/mouse/port
  stable/10/usr.sbin/bsdconfig/mouse/type
  stable/10/usr.sbin/bsdconfig/networking/defaultrouter
  stable/10/usr.sbin/bsdconfig/networking/devices
  stable/10/usr.sbin/bsdconfig/networking/hostname
  stable/10/usr.sbin/bsdconfig/networking/nameservers
  stable/10/usr.sbin/bsdconfig/networking/networking
  stable/10/usr.sbin/bsdconfig/networking/share/device.subr
  stable/10/usr.sbin/bsdconfig/networking/share/hostname.subr
  stable/10/usr.sbin/bsdconfig/networking/share/ipaddr.subr
  stable/10/usr.sbin/bsdconfig/networking/share/media.subr
  stable/10/usr.sbin/bsdconfig/networking/share/netmask.subr
  stable/10/usr.sbin/bsdconfig/networking/share/resolv.subr
  stable/10/usr.sbin/bsdconfig/networking/share/routing.subr
  stable/10/usr.sbin/bsdconfig/networking/share/services.subr
  stable/10/usr.sbin/bsdconfig/packages/packages
  stable/10/usr.sbin/bsdconfig/password/password
  stable/10/usr.sbin/bsdconfig/security/kern_securelevel
  stable/10/usr.sbin/bsdconfig/security/security
  stable/10/usr.sbin/bsdconfig/share/common.subr
  stable/10/usr.sbin/bsdconfig/share/device.subr
  stable/10/usr.sbin/bsdconfig/share/dialog.subr
  stable/10/usr.sbin/bsdconfig/share/keymap.subr
  stable/10/usr.sbin/bsdconfig/share/media/cdrom.subr
  stable/10/usr.sbin/bsdconfig/share/media/common.subr
  stable/10/usr.sbin/bsdconfig/share/media/dos.subr
  stable/10/usr.sbin/bsdconfig/share/media/floppy.subr
  stable/10/usr.sbin/bsdconfig/share/media/ftp.subr
  stable/10/usr.sbin/bsdconfig/share/media/nfs.subr
  stable/10/usr.sbin/bsdconfig/share/media/tcpip.subr
  stable/10/usr.sbin/bsdconfig/share/media/ufs.subr
  stable/10/usr.sbin/bsdconfig/share/media/usb.subr
  stable/10/usr.sbin/bsdconfig/share/mustberoot.subr
  stable/10/usr.sbin/bsdconfig/share/packages/categories.subr
  stable/10/usr.sbin/bsdconfig/share/packages/index.subr
  stable/10/usr.sbin/bsdconfig/share/packages/packages.subr
  stable/10/usr.sbin/bsdconfig/share/strings.subr
  stable/10/usr.sbin/bsdconfig/share/sysrc.subr
  stable/10/usr.sbin/bsdconfig/startup/misc
  stable/10/usr.sbin/bsdconfig/startup/rcadd
  stable/10/usr.sbin/bsdconfig/startup/rcconf
  stable/10/usr.sbin/bsdconfig/startup/rcdelete
  stable/10/usr.sbin/bsdconfig/startup/rcedit
  stable/10/usr.sbin/bsdconfig/startup/rcvar
  stable/10/usr.sbin/bsdconfig/startup/share/rcconf.subr
  stable/10/usr.sbin/bsdconfig/startup/share/rcedit.subr
  stable/10/usr.sbin/bsdconfig/startup/share/rcvar.subr
  stable/10/usr.sbin/bsdconfig/startup/startup
  stable/10/usr.sbin/bsdconfig/timezone/share/zones.subr
  stable/10/usr.sbin/bsdconfig/timezone/timezone
  stable/10/usr.sbin/bsdconfig/ttys/ttys
  stable/10/usr.sbin/bsdconfig/usermgmt/groupadd
  stable/10/usr.sbin/bsdconfig/usermgmt/groupdel
  stable/10/usr.sbin/bsdconfig/usermgmt/groupedit
  stable/10/usr.sbin/bsdconfig/usermgmt/groupinput
  stable/10/usr.sbin/bsdconfig/usermgmt/share/group_input.subr
  stable/10/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
  stable/10/usr.sbin/bsdconfig/usermgmt/useradd
  stable/10/usr.sbin/bsdconfig/usermgmt/userdel
  stable/10/usr.sbin/bsdconfig/usermgmt/useredit
  stable/10/usr.sbin/bsdconfig/usermgmt/userinput
  stable/10/usr.sbin/bsdconfig/usermgmt/usermgmt
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.sbin/bsdconfig/console/console
==============================================================================
--- stable/10/usr.sbin/bsdconfig/console/console        Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/console/console        Wed Jan 15 07:49:17 
2014        (r260678)
@@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 

Modified: stable/10/usr.sbin/bsdconfig/console/font
==============================================================================
--- stable/10/usr.sbin/bsdconfig/console/font   Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/console/font   Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 
@@ -174,14 +174,16 @@ esac
 
 [ "$f8" -a "$f14" -a "$f16" ] || f_die 1 "$msg_unknown_font_selection"
 
-f_sysrc_set font8x8 "$f8" || f_die
-f_sysrc_set font8x14 "$f14" || f_die
-f_sysrc_set font8x16 "$f16" || f_die
+f_eval_catch "$0" f_sysrc_set 'f_sysrc_set font8x8 "%s"' "$f8" || f_die
+f_eval_catch "$0" f_sysrc_set 'f_sysrc_set font8x14 "%s"' "$f14" || f_die
+f_eval_catch "$0" f_sysrc_set 'f_sysrc_set font8x16 "%s"' "$f16" || f_die
 
 if [ "$mc_start" ]; then
-       f_sysrc_set mousechar_start "$mc_start" || f_die
+       f_eval_catch "$0" f_sysrc_set \
+               'f_sysrc_set mousechar_start "%s"' "$mc_start" || f_die
 else
-       f_sysrc_delete mousechar_start || f_die
+       f_eval_catch "$0" f_sysrc_delete \
+               'f_sysrc_delete mousechar_start' || f_die
 fi
 
 exit $SUCCESS

Modified: stable/10/usr.sbin/bsdconfig/console/keymap
==============================================================================
--- stable/10/usr.sbin/bsdconfig/console/keymap Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/console/keymap Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ CONFIGURATION
 
@@ -246,10 +246,8 @@ while :; do
        keymap_name=
        mtag="${mtag# }" # remove single leading-space if-present
        for name in $KEYMAP_NAMES; do
-               if [ "$( eval echo \"\$msg_$name\" )" = "$mtag" ]; then
-                       keymap_name="$name"
-                       break
-               fi
+               debug= f_getvar msg_$name msg
+               [ "$msg" = "$mtag" ] && keymap_name="$name" break
        done
 
        [ "$keymap_name" ] || continue
@@ -319,7 +317,8 @@ while :; do
        esac
 
        if [ "$keymap_to_set" ]; then
-               f_sysrc_set keymap "$keymap_to_set" || f_die
+               f_eval_catch "$0" f_sysrc_set \
+                       'f_sysrc_set keymap "%s"' "$keymap_to_set" || f_die
                break
        else
                f_die 1 "$msg_unknown_keymap"

Modified: stable/10/usr.sbin/bsdconfig/console/repeat
==============================================================================
--- stable/10/usr.sbin/bsdconfig/console/repeat Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/console/repeat Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 
@@ -129,7 +129,8 @@ case "$mtag" in
 esac
 
 if [ "$repeat_rate_to_set" ]; then
-       f_sysrc_set keyrate "$repeat_rate_to_set" || f_die
+       f_eval_catch "$0" f_sysrc_set \
+               'f_sysrc_set keyrate "%s"' "$repeat_rate_to_set" || f_die
        break
 else
        f_die 1 "$msg_unknown_repeat_rate"

Modified: stable/10/usr.sbin/bsdconfig/console/saver
==============================================================================
--- stable/10/usr.sbin/bsdconfig/console/saver  Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/console/saver  Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 
@@ -144,7 +144,8 @@ case "$mtag" in
        f_dialog_title "$msg_value_required"
        f_dialog_input blanktime "$msg_enter_timeout_period" \
                       "$( f_sysrc_get blanktime )" &&
-               f_sysrc_set blanktime "$blanktime" || f_die
+               f_eval_catch "$0" f_sysrc_set \
+                       'f_sysrc_set blanktime "%s"' "$blanktime" || f_die
        f_dialog_title_restore
        exit $SUCCESS
 esac
@@ -180,7 +181,8 @@ case "$mtag" in
 esac
 
 if [ "$saver_to_set" ]; then
-       f_sysrc_set saver "$saver_to_set" || f_die
+       f_eval_catch "$0" f_sysrc_set \
+               'f_sysrc_set saver "%s"' "$saver_to_set" || f_die
        break
 else
        f_die 1 "$msg_unknown_saver"

Modified: stable/10/usr.sbin/bsdconfig/console/screenmap
==============================================================================
--- stable/10/usr.sbin/bsdconfig/console/screenmap      Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/console/screenmap      Wed Jan 15 07:49:17 
2014        (r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 
@@ -141,7 +141,8 @@ case "$mtag" in
 esac
 
 if [ "$scrnmap_to_set" ]; then
-       f_sysrc_set scrnmap "$scrnmap_to_set" || f_die
+       f_eval_catch "$0" f_sysrc_set \
+               'f_sysrc_set scrnmap "%s"' "$scrnmap_to_set" || f_die
        break
 else
        f_die 1 "$msg_unknown_screenmap_selection"

Modified: stable/10/usr.sbin/bsdconfig/console/ttys
==============================================================================
--- stable/10/usr.sbin/bsdconfig/console/ttys   Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/console/ttys   Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ CONFIGURATION
 
@@ -108,23 +108,28 @@ dialog_menu_main()
 #
 ttys_set_type()
 {
+       local funcname=ttys_set_type
        local consterm="$1" err
 
        #
        # Create new temporary file to write our ttys(5) update with new types.
        #
-       local tmpfile="$( mktemp -t "$pgm" )"
-       [ "$tmpfile" ] || return $FAILURE
+       local tmpfile
+       f_eval_catch -k tmpfile $funcname mktemp 'mktemp -t "%s"' "$pgm" ||
+               return $FAILURE
 
        #
        # Fixup permissions and ownership (mktemp(1) creates the temporary file
        # with 0600 permissions -- change the permissions and ownership to
        # match ttys(5) before we write it out and mv(1) it into place).
        #
-       local mode="$( stat -f '%#Lp' "$ETC_TTYS" 2> /dev/null )"
-       local owner="$( stat -f '%u:%g' "$ETC_TTYS" 2> /dev/null )"
-       f_quietly chmod "${mode:-0644}" "$tmpfile"
-       f_quietly chown "${owner:-root:wheel}" "$tmpfile"
+       local mode owner
+       f_eval_catch -dk mode $funcname stat \
+               'stat -f "%%#Lp" "%s"' "$ETC_TTYS" || mode=0644
+       f_eval_catch -dk owner $funcname stat \
+               'stat -f "%%u:%%g" "%s"' "$ETC_TTYS" || owner="root:wheel"
+       f_eval_catch -d $funcname chmod 'chmod "%s" "%s"' "$mode" "$tmpfile"
+       f_eval_catch -d $funcname chown 'chown "%s" "%s"' "$owner" "$tmpfile"
 
        #
        # Operate on ttys(5), replacing only the types of `ttyv*' and
@@ -156,10 +161,8 @@ ttys_set_type()
                f_dialog_msgbox "$err"
                return $FAILURE
        fi
-       if ! err=$( mv -f "$tmpfile" "$ETC_TTYS" 2>&1 ); then
-               f_dialog_msgbox "$err"
+       f_eval_catch $funcname mv 'mv -f "%s" "%s"' "$tmpfile" "$ETC_TTYS" ||
                return $FAILURE
-       fi
 
        return $SUCCESS
 }

Modified: stable/10/usr.sbin/bsdconfig/diskmgmt/diskmgmt
==============================================================================
--- stable/10/usr.sbin/bsdconfig/diskmgmt/diskmgmt      Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/diskmgmt/diskmgmt      Wed Jan 15 07:49:17 
2014        (r260678)
@@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="050.diskmgmt"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ CONFIGURATION
 

Modified: stable/10/usr.sbin/bsdconfig/docsinstall/docsinstall
==============================================================================
--- stable/10/usr.sbin/bsdconfig/docsinstall/docsinstall        Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/docsinstall/docsinstall        Wed Jan 15 
07:49:17 2014        (r260678)
@@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="020.docsinstall"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ CONFIGURATION
 

Modified: stable/10/usr.sbin/bsdconfig/dot/dot
==============================================================================
--- stable/10/usr.sbin/bsdconfig/dot/dot        Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/dot/dot        Wed Jan 15 07:49:17 2014        
(r260678)
@@ -41,8 +41,8 @@ BSDCFG_LIBE="/usr/libexec/bsdconfig" APP
 f_include_lang $BSDCFG_LIBE/include/messages.subr
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ CONFIGURATION
 

Modified: stable/10/usr.sbin/bsdconfig/includes/includes
==============================================================================
--- stable/10/usr.sbin/bsdconfig/includes/includes      Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/includes/includes      Wed Jan 15 07:49:17 
2014        (r260678)
@@ -41,8 +41,8 @@ BSDCFG_LIBE="/usr/libexec/bsdconfig" APP
 f_include_lang $BSDCFG_LIBE/include/messages.subr
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ GLOBALS
 

Modified: stable/10/usr.sbin/bsdconfig/mouse/disable
==============================================================================
--- stable/10/usr.sbin/bsdconfig/mouse/disable  Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/mouse/disable  Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ CONFIGURATION
 
@@ -73,12 +73,16 @@ f_mustberoot_init
 #
 # Stop the mouse daemon
 #
-[ -r "$MOUSED_PIDFILE" ] &&
-       f_quietly kill "$( cat "$MOUSED_PIDFILE" )"
-f_sysrc_set moused_enable "NO" || f_die
-f_sysrc_set moused_type "NO" || f_die
-f_sysrc_delete moused_port || f_die
-f_sysrc_delete moused_flags || f_die
+if [ -r "$MOUSED_PIDFILE" ]; then
+       f_eval_catch -dk pid "$0" cat 'cat "%s"' "$MOUSED_PIDFILE" &&
+               f_isinteger "$pid" &&
+               [ $pid -gt 0 ] &&
+               f_eval_catch -d "$0" kill 'kill %s' $pid
+fi
+f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_enable NO' || f_die
+f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_type NO' || f_die
+f_eval_catch "$0" f_sysrc_delete 'f_sysrc_delete moused_port' || f_die
+f_eval_catch "$0" f_sysrc_delete 'f_sysrc_delete moused_flags' || f_die
 
 #
 # Message box

Modified: stable/10/usr.sbin/bsdconfig/mouse/enable
==============================================================================
--- stable/10/usr.sbin/bsdconfig/mouse/enable   Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/mouse/enable   Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ CONFIGURATION
 
@@ -85,10 +85,15 @@ flags=$( f_sysrc_get moused_flags )
 # Start the mouse daemon
 #
 f_dialog_info "$msg_trying_to_start_the_mouse_daemon"
-[ -r "$MOUSED_PIDFILE" ] &&
-       f_quietly kill "$( cat "$MOUSED_PIDFILE" 2> /dev/null )"
-f_quietly vidcontrol -m on
-f_quietly moused -t "$type" -p "$port" $flags
+if [ -r "$MOUSED_PIDFILE" ]; then
+       f_eval_catch -dk pid "$0" cat 'cat "%s"' "$MOUSED_PIDFILE" &&
+               f_isinteger "$pid" &&
+               [ $pid -gt 0 ] &&
+               f_eval_catch -d "$0" kill 'kill %s' $pid
+fi
+f_eval_catch -d "$0" vidcontrol 'vidcontrol -m on'
+f_eval_catch -d "$0" moused \
+       'moused -t "%s" -p "%s" %s' "$type" "$port" "$flags"
 
 #
 # Confirm with the user that the mouse is working
@@ -101,14 +106,19 @@ f_dialog_title_restore
 #
 # Stop the mouse daemon
 #
-f_quietly vidcontrol -m off
+f_eval_catch -d "$0" vidcontrol 'vidcontrol -m off'
 if [ $retval -eq $DIALOG_OK ]; then
-       f_sysrc_set moused_enable "YES" || f_die
-       ln -fs /dev/sysmouse /dev/mouse || f_die # backwards compat
+       f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_enable YES' || f_die
+       f_eval_catch "$0" ln \
+               'ln -fs /dev/sysmouse /dev/mouse' || f_die # backwards compat
 else
-       [ -r "$MOUSED_PIDFILE" ] &&
-               f_quietly kill "$( cat "$MOUSED_PIDFILE" )"
-       f_sysrc_set moused_enable "NO" || f_die
+       if [ -r "$MOUSED_PIDFILE" ]; then
+               f_eval_catch -dk pid "$0" cat 'cat "%s"' "$MOUSED_PIDFILE" &&
+                       f_isinteger "$pid" &&
+                       [ $pid -gt 0 ] &&
+                       f_eval_catch -d "$0" kill 'kill %s' $pid
+       fi
+       f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_enable NO' || f_die
 fi
 
 exit $SUCCESS

Modified: stable/10/usr.sbin/bsdconfig/mouse/flags
==============================================================================
--- stable/10/usr.sbin/bsdconfig/mouse/flags    Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/mouse/flags    Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ CONFIGURATION
 
@@ -86,7 +86,7 @@ f_dialog_title_restore
 #
 # Save the new value
 #
-f_sysrc_set moused_flags "$flags" || f_die
+f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_flags "%s"' "$flags" || f_die
 
 exit $SUCCESS
 

Modified: stable/10/usr.sbin/bsdconfig/mouse/mouse
==============================================================================
--- stable/10/usr.sbin/bsdconfig/mouse/mouse    Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/mouse/mouse    Wed Jan 15 07:49:17 2014        
(r260678)
@@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 

Modified: stable/10/usr.sbin/bsdconfig/mouse/port
==============================================================================
--- stable/10/usr.sbin/bsdconfig/mouse/port     Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/mouse/port     Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 
@@ -141,7 +141,8 @@ case "$mtag" in
 esac
 
 if [ "$moused_port_to_set" ]; then
-       f_sysrc_set moused_port "$moused_port_to_set" || f_die
+       f_eval_catch "$0" f_sysrc_set \
+               'f_sysrc_set moused_port "%s"' "$moused_port_to_set" || f_die
 else
        f_die 1 "$msg_unknown_mouse_port_selection"
 fi

Modified: stable/10/usr.sbin/bsdconfig/mouse/type
==============================================================================
--- stable/10/usr.sbin/bsdconfig/mouse/type     Wed Jan 15 07:47:13 2014        
(r260677)
+++ stable/10/usr.sbin/bsdconfig/mouse/type     Wed Jan 15 07:49:17 2014        
(r260678)
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 
@@ -157,7 +157,8 @@ case "$mtag" in
 esac
 
 if [ "$moused_type_to_set" ]; then
-       f_sysrc_set moused_type "$moused_type_to_set" || f_die
+       f_eval_catch "$0" f_sysrc_set \
+               'f_sysrc_set moused_type "%s"' "$moused_type_to_set" || f_die
 else
        f_die 1 "$msg_unknown_mouse_protocol_selection"
 fi

Modified: stable/10/usr.sbin/bsdconfig/networking/defaultrouter
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/defaultrouter       Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/defaultrouter       Wed Jan 15 
07:49:17 2014        (r260678)
@@ -28,6 +28,9 @@
 #
 ############################################################ INCLUDES
 
+# Prevent device.subr (included indirectly) from auto scanning on load
+DEVICE_SELF_SCAN_ALL=NO
+
 BSDCFG_SHARE="/usr/share/bsdconfig"
 . $BSDCFG_SHARE/common.subr || exit 1
 f_dprintf "%s: loading includes..." "$0"
@@ -38,8 +41,8 @@ f_include $BSDCFG_SHARE/networking/routi
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ MAIN
 

Modified: stable/10/usr.sbin/bsdconfig/networking/devices
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/devices     Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/devices     Wed Jan 15 07:49:17 
2014        (r260678)
@@ -49,8 +49,8 @@ f_include $BSDCFG_SHARE/networking/netma
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ MAIN
 
@@ -143,8 +143,8 @@ while :; do
        # Fill in IP address/netmask from active settings if no
        # configuration could be extrapolated from rc.conf(5)
        #
-       [ "$_ipaddr"  ] || _ipaddr=$( f_ifconfig_inet $interface )
-       [ "$_netmask" ] || _netmask=$( f_ifconfig_netmask $interface )
+       [ "$_ipaddr"  ] || f_ifconfig_inet $interface _ipaddr
+       [ "$_netmask" ] || f_ifconfig_netmask $interface _netmask
 
        # Get the extra options (this always comes from rc.conf(5))
        _options=$( f_ifconfig_options $interface )

Modified: stable/10/usr.sbin/bsdconfig/networking/hostname
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/hostname    Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/hostname    Wed Jan 15 07:49:17 
2014        (r260678)
@@ -41,8 +41,8 @@ f_include $BSDCFG_SHARE/networking/hostn
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ MAIN
 

Modified: stable/10/usr.sbin/bsdconfig/networking/nameservers
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/nameservers Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/nameservers Wed Jan 15 07:49:17 
2014        (r260678)
@@ -41,8 +41,8 @@ f_include $BSDCFG_SHARE/networking/resol
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ MAIN
 

Modified: stable/10/usr.sbin/bsdconfig/networking/networking
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/networking  Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/networking  Wed Jan 15 07:49:17 
2014        (r260678)
@@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ FUNCTIONS
 

Modified: stable/10/usr.sbin/bsdconfig/networking/share/device.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/share/device.subr   Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/share/device.subr   Wed Jan 15 
07:49:17 2014        (r260678)
@@ -40,6 +40,7 @@ f_include $BSDCFG_SHARE/networking/media
 f_include $BSDCFG_SHARE/networking/netmask.subr
 f_include $BSDCFG_SHARE/networking/resolv.subr
 f_include $BSDCFG_SHARE/networking/routing.subr
+f_include $BSDCFG_SHARE/strings.subr
 f_include $BSDCFG_SHARE/sysrc.subr
 
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking"
@@ -163,6 +164,7 @@ f_dialog_menu_netdev()
 #
 f_dialog_menu_netdev_edit()
 {
+       local funcname=f_dialog_menu_netdev_edit
        local interface="$1" ipaddr="$2" netmask="$3" options="$4" dhcp="$5"
        local prompt menu_list height width rows
 
@@ -175,7 +177,7 @@ f_dialog_menu_netdev_edit()
              dhcp_orig="$5"
 
        local hline="$hline_arrows_tab_enter"
-       prompt=$( printf "$msg_network_configuration" "$interface" )
+       f_sprintf prompt "$msg_network_configuration" "$interface"
 
        #
        # Loop forever until the user has finished configuring the different
@@ -254,8 +256,9 @@ f_dialog_menu_netdev_edit()
                      # are made is changed parts of the system may hang.
                      #
                      if f_nfs_mounted && ! f_jailed; then
-                       local setting="$( printf "$msg_current_dhcp_status" \
-                                                "$interface" "$dhcp_status" )"
+                       local setting
+                       f_sprintf setting "$msg_current_dhcp_status" \
+                                         "$interface" "$dhcp_status"
                        f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" ||
                                continue
                      fi
@@ -269,7 +272,7 @@ f_dialog_menu_netdev_edit()
                        trap - SIGINT
                        ( # Execute within sub-shell to allow/catch Ctrl-C
                          trap 'exit $FAILURE' SIGINT
-                         msg=$( printf "$msg_scanning_for_dhcp" "$interface" )
+                         f_sprintf msg "$msg_scanning_for_dhcp" "$interface"
                          if [ "$USE_XDIALOG" ]; then
                                (
                                  f_quietly ifconfig "$interface" delete
@@ -319,14 +322,16 @@ f_dialog_menu_netdev_edit()
 
                local value=
                if [ "$dhcp" ]; then
-                       f_sysrc_delete defaultrouter
+                       f_eval_catch $funcname f_sysrc_delete \
+                               'f_sysrc_delete defaultrouter'
                        value=DHCP
                else
                        value="inet $ipaddr netmask $netmask"
                        value="$value${options:+ }$options"
                fi
 
-               f_sysrc_set ifconfig_$interface "$value"
+               f_eval_catch $funcname f_sysrc_set \
+                       'f_sysrc_set "ifconfig_%s" "%s"' "$interface" "$value"
        fi
 
        #
@@ -337,10 +342,12 @@ f_dialog_menu_netdev_edit()
                then
                        f_show_info "$msg_bring_interface_up" "$interface"
 
-                       local dr="$( f_sysrc_get defaultrouter )" err
+                       local dr="$( f_sysrc_get defaultrouter )"
                        if [ "$dr" = "NO" -o ! "$dr" ]; then
-                               dr=$( f_route_get_default )
-                               [ "$dr" ] && f_sysrc_set defaultrouter "$dr"
+                               f_route_get_default dr
+                               [ "$dr" ] && f_eval_catch \
+                                       $funcname f_sysrc_set \
+                                       'f_sysrc_set defaultrouter "%s"' "$dr"
                        fi
                        #
                        # Make a backup of resolv.conf(5) before using
@@ -351,16 +358,13 @@ f_dialog_menu_netdev_edit()
                        # resolv.conf(5) by-default upon termination).
                        #
                        f_quietly cp -fp "$RESOLV_CONF" "$RESOLV_CONF.$$"
-                       err=$( ifconfig $interface inet $ipaddr \
-                               netmask $netmask $options 2>&1 )
-                       if [ $? -eq $SUCCESS ]; then
-                               if [ "$dr" -a "$dr" != "NO" ]; then
-                                       err=$( route add default "$dr" 2>&1 )
-                                       [ $? -eq $SUCCESS ] || \
-                                               dialog_msgbox "$err"
-                               fi
-                       else
-                               dialog_msgbox "$err"
+                       if f_eval_catch $funcname ifconfig \
+                               'ifconfig "%s" inet "%s" netmask "%s" %s' \
+                               "$interface" "$ipaddr" "$netmask" "$options"
+                       then
+                               [ "$dr" -a "$dr" != "NO" ] &&
+                                       f_eval_catch $funcname route \
+                                               'route add default "%s"' "$dr"
                        fi
                        if cmp -s "$RESOLV_CONF" "$RESOLV_CONF.$$"; then
                                f_quietly rm -f "$RESOLV_CONF.$$"

Modified: stable/10/usr.sbin/bsdconfig/networking/share/hostname.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/share/hostname.subr Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/share/hostname.subr Wed Jan 15 
07:49:17 2014        (r260678)
@@ -95,6 +95,7 @@ f_dialog_validate_hostname()
 #
 f_dialog_input_hostname()
 {
+       local funcname=f_dialog_input_hostname
        local hostname="$( f_sysrc_get 'hostname:-$(hostname)' )"
        local hostname_orig="$hostname" # for change-tracking
 
@@ -120,7 +121,8 @@ f_dialog_input_hostname()
        #
        if [ "$hostname" != "$hostname_orig" ]; then
                f_dialog_info "$msg_saving_hostname"
-               f_sysrc_set hostname "$hostname"
+               f_eval_catch $funcname f_sysrc_set \
+                       'f_sysrc_set hostname "%s"' "$hostname"
        fi
 
        #

Modified: stable/10/usr.sbin/bsdconfig/networking/share/ipaddr.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/share/ipaddr.subr   Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/share/ipaddr.subr   Wed Jan 15 
07:49:17 2014        (r260678)
@@ -144,13 +144,14 @@ f_dialog_input_ipaddr()
        # system may hang (if any NFS mounts are using that interface).
        #
        if f_nfs_mounted && ! f_jailed; then
-               local setting="$( printf "$msg_current_ipaddr" \
-                                        "$interface" "$_ipaddr" )"
+               local setting
+               f_sprintf setting "$msg_current_ipaddr" "$interface" "$_ipaddr"
                f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" ||
                        return $DIALOG_CANCEL
        fi
 
-       local msg="$( printf "$msg_please_enter_new_ip_addr" "$interface" )"
+       local msg
+       f_sprintf msg "$msg_please_enter_new_ip_addr" "$interface"
 
        #
        # Loop until the user provides taint-free input.

Modified: stable/10/usr.sbin/bsdconfig/networking/share/media.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/share/media.subr    Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/share/media.subr    Wed Jan 15 
07:49:17 2014        (r260678)
@@ -115,13 +115,15 @@ f_dialog_input_options()
        # the system may hang (if any NFS mounts are using that interface).
        #
        if f_nfs_mounted && ! f_jailed; then
-               local setting="$( printf "$msg_current_options" \
-                                        "$interface" "$options" )"
+               local setting
+               f_sprintf setting "$msg_current_options" \
+                                 "$interface" "$options"
                f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" ||
                        return $DIALOG_CANCEL
        fi
 
-       local msg="$( printf "$msg_please_enter_mediaopts" "$interface" )"
+       local msg
+       f_sprintf msg "$msg_please_enter_mediaopts" "$interface"
        local hline="$hline_alnum_punc_tab_enter"
 
        local _options
@@ -162,8 +164,9 @@ f_dialog_menu_media_options()
        # the system may hang (if any NFS mounts are using that interface).
        #
        if f_nfs_mounted && ! f_jailed; then
-               local setting="$( printf "$msg_current_options" \
-                                        "$interface" "$_options" )"
+               local setting
+               f_sprintf setting "$msg_current_options" \
+                                 "$interface" "$_options"
                f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" ||
                        return $DIALOG_CANCEL
        fi
@@ -196,11 +199,11 @@ f_dialog_menu_media_options()
 
        local msg
        if [ "$USE_XDIALOG" ]; then
-               msg=$( printf "$xmsg_supported_media_options" \
-                               "$interface" "$interface" )
+               f_sprintf msg "$xmsg_supported_media_options" \
+                             "$interface" "$interface"
        else
-               msg=$( printf "$msg_supported_media_options" \
-                               "$interface" "$interface" )
+               f_sprintf msg "$msg_supported_media_options" \
+                             "$interface" "$interface"
        fi
 
        local hline="$hline_arrows_tab_enter"

Modified: stable/10/usr.sbin/bsdconfig/networking/share/netmask.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/share/netmask.subr  Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/share/netmask.subr  Wed Jan 15 
07:49:17 2014        (r260678)
@@ -94,8 +94,9 @@ f_dialog_input_netmask()
        # the system may hang (if any NFS mounts are using that interface).
        #
        if f_nfs_mounted && ! f_jailed; then
-               local setting="$( printf "$msg_current_subnet" \
-                                        "$interface" "$_netmask" )"
+               local setting
+               f_sprintf setting "$msg_current_subnet" \
+                                 "$interface" "$_netmask"
                f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" ||
                        return $DIALOG_CANCEL
        fi
@@ -103,7 +104,8 @@ f_dialog_input_netmask()
        #
        # Loop until the user provides taint-free input.
        #
-       local msg="$( printf "$msg_please_enter_subnet_mask" "$interface" )"
+       local msg
+       f_sprintf msg "$msg_please_enter_subnet_mask" "$interface"
        while :; do
                #
                # Return error status if:

Modified: stable/10/usr.sbin/bsdconfig/networking/share/resolv.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/share/resolv.subr   Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/share/resolv.subr   Wed Jan 15 
07:49:17 2014        (r260678)
@@ -162,20 +162,23 @@ END {
 '
 f_dialog_resolv_conf_update()
 {
+       local funcname=f_dialog_resolv_conf_update
        local hostname="$1"
 
        #
        # Extrapolate the desired domain search parameter for resolv.conf(5)
        #
-       local search ndots domain="${hostname#*.}"
+       local search nfields ndots domain="${hostname#*.}"
        if [ "$RESOLVER_SEARCH_DOMAINS_ALL" = "1" ]; then
-               search=""
-               ndots=$( IFS=.; set -- $domain; echo $(( $# - 1 )) )
+               search=
+               IFS=. f_count_ifs nfields "$domain"
+               ndots=$(( $nfields - 1 ))
                while [ $ndots -ge ${RESOLVER_SEARCH_NDOTS:-1} ]; do
-                       search="$search${search:+ }$domain"
+                       search="$search $domain"
                        domain="${domain#*.}"
                        ndots=$(( $ndots - 1 ))
                done
+               search="${search# }"
                domain="${hostname#*.}"
        else
                search="$domain"
@@ -194,8 +197,9 @@ f_dialog_resolv_conf_update()
                # Create a new temporary file to write our resolv.conf(5)
                # update with our new `domain' and `search' directives.
                #
-               local tmpfile="$( mktemp -t "$pgm" )"
-               [ "$tmpfile" ] || return $DIALOG_CANCEL
+               local tmpfile
+               f_eval_catch -dk tmpfile $funcname mktemp \
+                       'mktemp -t "%s"' "$tmpfile" || return $DIALOG_CANCEL
 
                #
                # Fixup permissions and ownership (mktemp(1) creates the
@@ -203,10 +207,16 @@ f_dialog_resolv_conf_update()
                # permissions and ownership to match resolv.conf(5) before
                # we write it out and mv(1) it into place).
                #
-               local mode="$( stat -f '%#Lp' "$RESOLV_CONF" 2> /dev/null )"
-               local owner="$( stat -f '%u:%g' "$RESOLV_CONF" 2> /dev/null )"
-               f_quietly chmod "${mode:-0644}" "$tmpfile"
-               f_quietly chown "${owner:-root:wheel}" "$tmpfile"
+               local mode owner
+               f_eval_catch -dk mode $funcname stat \
+                       'stat -f "%%#Lp" "%s"' "$RESOLV_CONF" || mode=0644
+               f_eval_catch -dk owner $funcname stat \
+                       'stat -f "%%u:%%g" "%s"' "$RESOLV_CONF" ||
+                       owner="root:wheel"
+               f_eval_catch -d $funcname chmod \
+                       'chmod "%s" "%s"' "$mode" "$tmpfile"
+               f_eval_catch -d $funcname chown \
+                       'chown "%s" "%s"' "$owner" "$tmpfile"
 
                #
                # Operate on resolv.conf(5), replacing only the last
@@ -237,7 +247,8 @@ f_dialog_resolv_conf_update()
                #
                echo "$new_contents" | tail -r > "$tmpfile" ||
                        return $DIALOG_CANCEL
-               f_quietly mv "$tmpfile" "$RESOLV_CONF"
+               f_eval_catch -d $funcname mv \
+                       'mv "%s" "%s"' "$tmpfile" "$RESOLV_CONF"
 
        fi
 }
@@ -288,6 +299,7 @@ END { if ( ! found ) exit 3 }
 '
 f_dialog_input_nameserver()
 {
+       local funcname=f_dialog_input_nameserver
        local index="${1:-0}" old_ns="$2" new_ns
        local ns="$old_ns"
 
@@ -344,17 +356,23 @@ f_dialog_input_nameserver()
                #
                # Create a new temporary file to write our new resolv.conf(5)
                #
-               local tmpfile="$( mktemp -t "$pgm" )"
-               [ "$tmpfile" ] || return $DIALOG_CANCEL
+               local tmpfile
+               f_eval_catch -dk tmpfile $funcname mktemp \
+                       'mktemp -t "%s"' "$pgm" || return $DIALOG_CANCEL
 
                #
                # Quietly fixup permissions and ownership
                #
                local mode owner
-               mode=$( stat -f '%#Lp' "$RESOLV_CONF" 2> /dev/null )
-               owner=$( stat -f '%u:%g' "$RESOLV_CONF" 2> /dev/null )
-               f_quietly chmod "${mode:-0644}" "$tmpfile"
-               f_quietly chown "${owner:-root:wheel}" "$tmpfile"
+               f_eval_catch -dk mode $funcname stat \
+                       'stat -f "%%#Lp" "%s"' "$RESOLV_CONF" || mode=0644
+               f_eval_catch -dk owner $funcname stat \
+                       'stat -f "%%u:%%g" "%s"' "$RESOLV_CONF" ||
+                       owner="root:wheel"
+               f_eval_catch -d $funcname chmod \
+                       'chmod "%s" "%s"' "$mode" "$tmpfile"
+               f_eval_catch -d $funcname chown \
+                       'chown "%s" "%s"' "$owner" "$tmpfile"
 
                #
                # Operate on resolv.conf(5)
@@ -383,7 +401,8 @@ f_dialog_input_nameserver()
                # file into place.
                #
                echo "$new_contents" > "$tmpfile" || return $DIALOG_CANCEL
-               f_quietly mv "$tmpfile" "$RESOLV_CONF"
+               f_eval_catch -d $funcname mv \
+                       'mv "%s" "%s"' "$tmpfile" "$RESOLV_CONF"
        fi
 }
 
@@ -409,7 +428,8 @@ f_dialog_menu_nameservers()
                #
                # Re/Build list of nameservers
                #
-               local nameservers="$( f_resolv_conf_nameservers )"
+               local nameservers
+               f_resolv_conf_nameservers nameservers
                menu_list=$(
                        index=1
 

Modified: stable/10/usr.sbin/bsdconfig/networking/share/routing.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/share/routing.subr  Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/share/routing.subr  Wed Jan 15 
07:49:17 2014        (r260678)
@@ -35,6 +35,7 @@ f_include $BSDCFG_SHARE/dialog.subr
 f_include $BSDCFG_SHARE/media/tcpip.subr
 f_include $BSDCFG_SHARE/networking/common.subr
 f_include $BSDCFG_SHARE/networking/ipaddr.subr
+f_include $BSDCFG_SHARE/strings.subr
 f_include $BSDCFG_SHARE/sysrc.subr
 
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking"
@@ -48,6 +49,8 @@ f_include_lang $BSDCFG_LIBE/$APP_DIR/inc
 #
 f_dialog_input_defaultrouter()
 {
+       local funcname=f_dialog_input_defaultrouter
+
        #
        # Get the defaultrouter. When this is not configured, the default is
        # "NO", however we don't ever want to present this default to the user
@@ -61,9 +64,7 @@ f_dialog_input_defaultrouter()
        local defaultrouter="$( f_sysrc_get 'defaultrouter:-NO' )"
        local defaultrouter_orig="$defaultrouter" # for change-tracking
        case "$defaultrouter" in
-       [Nn][Oo])
-               defaultrouter=$( f_route_get_default )
-               ;;
+       [Nn][Oo]) f_route_get_default defaultrouter ;;
        esac
 
        #
@@ -72,8 +73,9 @@ f_dialog_input_defaultrouter()
        # mounted, the system will hang.
        #
        if f_nfs_mounted && ! f_jailed; then
-               local setting="$( printf "$msg_current_default_router" \
-                                        "$defaultrouter" )"
+               local setting
+               f_sprintf setting "$msg_current_default_router" \
+                                 "$defaultrouter"
                f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" ||
                        return $DIALOG_CANCEL
        fi
@@ -101,27 +103,25 @@ f_dialog_input_defaultrouter()
                f_dialog_info "$msg_saving_default_router"
 
                # Save the default router/gateway
-               f_sysrc_set defaultrouter "$defaultrouter"
+               f_eval_catch $funcname f_sysrc_set \
+                       'f_sysrc_set defaultrouter "%s"' "$defaultrouter"
        fi
 
        #
        # Only ask to apply setting if the current defaultrouter is different
        # than the stored configuration (in rc.conf(5)).
        #
-       if [ "$( f_route_get_default )" != "$defaultrouter" ]; then
+       local dr
+       f_route_get_default dr
+       if [ "$dr" != "$defaultrouter" ]; then
                f_dialog_clear
-               f_yesno "$msg_activate_default_router" \
-                       "$( f_route_get_default )" "$defaultrouter"
+               f_yesno "$msg_activate_default_router" "$dr" "$defaultrouter"
                if [ $? -eq $DIALOG_OK ]; then
-                       local err
-
                        # Apply the default router/gateway
-                       f_quietly route delete default
-                       err=$( route add default "$defaultrouter" 2>&1 )
-                       if [ $? -ne $SUCCESS ]; then
-                               f_dialog_msgbox "$err"
+                       f_eval_catch -d $funcname route 'route delete default'
+                       f_eval_catch $funcname route \
+                               'route add default "%s"' "$defaultrouter" ||
                                return $DIALOG_CANCEL
-                       fi
                fi
        fi
 }

Modified: stable/10/usr.sbin/bsdconfig/networking/share/services.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/networking/share/services.subr Wed Jan 15 
07:47:13 2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/networking/share/services.subr Wed Jan 15 
07:49:17 2014        (r260678)
@@ -42,8 +42,9 @@ f_include $BSDCFG_SHARE/sysrc.subr
 #
 f_config_pcnfsd()
 {
+       local funcname=f_config_pcnfsd
        f_package_add "pcnfsd" || return $?
-       f_sysrc_set mountd_flags "-n"
+       f_eval_catch $funcname f_sysrc_set 'f_sysrc_set mountd_flags -n'
        return $SUCCESS
 }
 

Modified: stable/10/usr.sbin/bsdconfig/packages/packages
==============================================================================
--- stable/10/usr.sbin/bsdconfig/packages/packages      Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/packages/packages      Wed Jan 15 07:49:17 
2014        (r260678)
@@ -45,8 +45,8 @@ f_include $BSDCFG_SHARE/packages/package
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="030.packages"
 f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+       pgm="${ipgm:-$pgm}"
 
 ############################################################ MAIN
 

Modified: stable/10/usr.sbin/bsdconfig/password/password
==============================================================================
--- stable/10/usr.sbin/bsdconfig/password/password      Wed Jan 15 07:47:13 
2014        (r260677)
+++ stable/10/usr.sbin/bsdconfig/password/password      Wed Jan 15 07:49:17 
2014        (r260678)
@@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/password/passwor
 
 BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="040.password"
 
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
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