Author: des
Date: Mon Dec  1 12:17:42 2014
New Revision: 275359
URL: https://svnweb.freebsd.org/changeset/base/275359

Log:
  Allow load_rc_config to be called without a service name.
  
  MFC after:    1 week

Modified:
  head/etc/rc.subr

Modified: head/etc/rc.subr
==============================================================================
--- head/etc/rc.subr    Mon Dec  1 11:45:24 2014        (r275358)
+++ head/etc/rc.subr    Mon Dec  1 12:17:42 2014        (r275359)
@@ -1315,9 +1315,6 @@ load_rc_config()
 {
        local _name _rcvar_val _var _defval _v _msg _new _d
        _name=$1
-       if [ -z "$_name" ]; then
-               err 3 'USAGE: load_rc_config name'
-       fi
 
        if ${_rc_conf_loaded:-false}; then
                :
@@ -1333,20 +1330,24 @@ load_rc_config()
                _rc_conf_loaded=true
        fi
 
-       for _d in /etc ${local_startup%*/rc.d}; do
-               if [ -f ${_d}/rc.conf.d/"$_name" ]; then
-                       debug "Sourcing ${_d}/rc.conf.d/$_name"
-                       . ${_d}/rc.conf.d/"$_name"
-               elif [ -d ${_d}/rc.conf.d/"$_name" ] ; then
-                       local _rc
-                       for _rc in ${_d}/rc.conf.d/"$_name"/* ; do
-                               if [ -f "$_rc" ] ; then
-                                       debug "Sourcing $_rc"
-                                       . "$_rc"
-                               fi
-                       done
-               fi
-       done
+       # If a service name was specified, attempt to load
+       # service-specific configuration
+       if [ -n "$_name" ] ; then
+               for _d in /etc ${local_startup%*/rc.d}; do
+                       if [ -f ${_d}/rc.conf.d/"$_name" ]; then
+                               debug "Sourcing ${_d}/rc.conf.d/$_name"
+                               . ${_d}/rc.conf.d/"$_name"
+                       elif [ -d ${_d}/rc.conf.d/"$_name" ] ; then
+                               local _rc
+                               for _rc in ${_d}/rc.conf.d/"$_name"/* ; do
+                                       if [ -f "$_rc" ] ; then
+                                               debug "Sourcing $_rc"
+                                               . "$_rc"
+                                       fi
+                               done
+                       fi
+               done
+       fi
 
        # Set defaults if defined.
        for _var in $rcvar $rcvars; do
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to