On 04/03/13 13:42, Vadim Zhukov wrote:
> This patch makes rc.subr show only supported operations in usage.
> This avoids some sort of confusion when, e.g., /etc/rc.d/smtpd
> shows that "reload" command is allowed, but when you try it,
> you get "reload not supported" error.
>
> okay?
I approve of the idea. Nits inline.
> --
> WBR,
> Vadim Zhukov
>
>
> Index: rc.subr
> ===================================================================
> RCS file: /cvs/src/etc/rc.d/rc.subr,v
> retrieving revision 1.68
> diff -u -p -r1.68 rc.subr
> --- rc.subr 19 Nov 2012 07:10:59 -0000 1.68
> +++ rc.subr 3 Apr 2013 11:35:58 -0000
> @@ -25,7 +25,13 @@ rc_err() {
> }
>
> rc_usage() {
> - rc_err "usage: $0 [-df] {start|check|reload|restart|stop}"
> + local _a _allsup _enotsup
> + for _a in start check reload restart stop; do
> + eval _enotsup=\${rc_${_a}}
> + [ X"${_enotsup}" != X"NO" ] && _allsup="$_allsup $_a"
maybe
[ X"${_enotsup}" != X"NO" ] && _allsup="${_allsup+$_allsup|}$_a"
> + done
> + _allsup="`echo $_allsup | sed -e 's/ /|/g'`"
and skip the line above
> + rc_err "usage: $0 [-df] {${_allsup}}"
> }
>
> rc_write_runfile() {
>
Also, you mix $var and ${var} notation. While I prefer the former
unless ${...} is needed for clarity or functionality, we should at
least be consequent where possible.
/Alexander