[PATCH] Fancy rc startup style RFC

Gordon Bergling gbergling at 0xfce3.net
Tue Apr 18 20:33:57 UTC 2006


* Thus spake Eric Anderson (anderson at 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"


More information about the freebsd-hackers mailing list