Date: Tue, 18 Apr 2006 22:33:33 +0200 From: Gordon Bergling <gbergling@0xfce3.net> To: Eric Anderson <anderson@centtech.com> Cc: cokane@cokane.org, freebsd-hackers@freebsd.org Subject: Re: [PATCH] Fancy rc startup style RFC Message-ID: <20060418203333.GA19094@central.0xfce3.net> In-Reply-To: <444545D3.5010405@centtech.com> References: <444515C8.3030406@centtech.com> <20060418165709.GA17705@central.0xfce3.net> <44452532.40703@centtech.com> <20060418.114933.69380798.imp@bsdimp.com> <346a80220604181102v3597a1edp3e05fa663b87e15c@mail.gmail.com> <20060418193018.GB694@turion.vk2pj.dyndns.org> <444545D3.5010405@centtech.com>
index | next in thread | previous in thread | raw e-mail
* Thus spake Eric Anderson (anderson@centtech.com):
> Peter Jeremy wrote:
> >On Tue, 2006-Apr-18 14:02:07 -0400, Coleman Kane wrote:
> >A few comments on the shellscript:
> >
> >>+ rcargsize=`echo $rc_arg`
> >>+ rcargsize=${#rcargsize}
> >
> >Try rcargsize=$((${#rc_arg} + 1))
> >
> >>- return 1
> >>+ (echo_fancy "FAILED" `expr 10 +
> >>$rcargsize - 1`) && return 1
> >
> >Try echo_fancy "FAILED" $((10 + $rcargsize -
> >1)) && return 1
> >
> >>+echo_fancy () {
> >...
> >>+ namesize=`echo -n $name`
> >>+ namesize=${#namesize}
> >or namesize=${#name}
> >
> >>+ padding=""
> >>+ paddingsize=$(($columns - 15 - $2 - $namesize))
> >>+ until [ 0 = ${paddingsize} ]; do
> >>+ padding=" $padding"
> >>+ paddingsize=$(($paddingsize - 1))
> >>+ done
> >
> >This particular block of code appears unnecessary (since $padding is
> >unused).
>
> I must be missing something, because I'm pretty sure it's used.. What
> did I miss?
>
>
>
> >>+ paddingsize=$((60 - $namesize - $rc_argsize))
> >>+ until [ 0 = ${paddingsize} ]; do
> >>+ padding=" $padding"
> >>+ paddingsize=$(($paddingsize - 1))
> >>+ done
> >
> >For safety, the conditions should probably be [ 0 -ge ${paddingsize} ]
> >I don't see any alternative to the until loop. If efficiency turns out
> >to be a real issue then you could try doing the expansion in multiple
> >goes. Eg:
> >
> > until [ 8 -gt ${paddingsize} ]; do
> > padding=" $padding"
> > paddingsize=$(($paddingsize - 8))
> > done
> > until [ 0 -ge ${paddingsize} ]; do
> > padding=" $padding"
> > paddingsize=$(($paddingsize - 1))
> > done
>
> Thanks for the hints. I was testing the same changes to the
> namesize/etc as you suggested, and it does work and is more readable and
> more efficient.
>
> I've included your suggestions and put the latest changes here:
>
> http://www.googlebit.com/freebsd/patches/rc_fancy.patch-3
Patch -3 is working good here. :)
best regards,
Gordon
PS: next try... fancy_color_rc="YES" ;)
--
Gordon Bergling <GBergling at 0xfce3.net> http://www.0xFCE3.net/
PGP Fingerprint: 7732 9BB1 5013 AE8B E42C 28E0 93B9 D32B C76F 02A0
RIPE-HDL: MDTP-RIPE "Minimal Electronic Music"
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060418203333.GA19094>
