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