On Mon, Oct 13, 2014 at 09:31:05PM +0100, Craig R. Skinner wrote:
> Move 2 duplicate searches into a function.
> 
> The diff also ignores (RCS) subdirectories.
> 
> $ find /etc/rc.d ! -type f
> /etc/rc.d
> /etc/rc.d/RCS

Makes sense yes. Not sure I'd want a function just for that one liner though.
I'll commit something tomorrow.

> Index: rcctl.sh
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rcctl/rcctl.sh,v
> retrieving revision 1.43
> diff -u -p -r1.43 rcctl.sh
> --- rcctl.sh  11 Oct 2014 19:12:19 -0000      1.43
> +++ rcctl.sh  13 Oct 2014 20:10:34 -0000
> @@ -93,7 +93,7 @@ svc_get_defaults()
>               print -r -- "$(svc_default_enabled_flags ${_svc})"
>               svc_default_enabled ${_svc}
>       else
> -             for _i in $(ls -A /etc/rc.d | grep -v rc.subr); do
> +             get_svc_list | while read _i; do
>                       echo "${_i}_flags=$(svc_default_enabled_flags ${_i})"
>               done
>               for _i in ${_special_services}; do
> @@ -134,7 +134,7 @@ svc_get_status()
>               svc_get_flags ${_svc}
>               svc_is_enabled ${_svc}
>       else
> -             for _i in $(ls -A /etc/rc.d | grep -v rc.subr); do
> +             get_svc_list | while read _i; do
>                       echo "${_i}_flags=$(svc_get_flags ${_i})"
>               done
>               for _i in ${_special_services}; do
> @@ -175,6 +175,12 @@ svc_is_special()
>       [ -n "${_svc}" ] || return
>  
>       echo ${_special_services} | grep -qw ${_svc}
> +}
> +
> +get_svc_list()
> +{
> +     # Ignore rc.subr & (RCS) subdirectories:
> +     find /etc/rc.d -type f -maxdepth 1 ! -name rc.subr
>  }
>  
>  append_to_pkg_scripts()
> 

-- 
Antoine

Reply via email to