On Fri, Mar 01, 2013 at 01:01:58PM -0500, Eric Whitney wrote: > _within_tolerance strips trailing zeros from the min and max range > values it outputs. This leads to damage if the min or max value is > an integer containing trailing zeros rather than a real number with > a fractional part containing trailing zeros. Xfstest 289 can exhibit > this problem when its input is out of range. Modify the code so it > will only remove trailing zeros found after a decimal point, and > remove decimal points not followed by digits. > > Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx> > --- > common.filter | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/common.filter b/common.filter > index 9e4c90c..bfc800b 100644 > --- a/common.filter > +++ b/common.filter > @@ -106,8 +106,11 @@ EOF > > # fix up min, max precision for output > # can vary for 5.3, 6.2 > - _min=`echo $_min | sed -e 's/0*$//'` # get rid of trailling zeroes > - _max=`echo $_max | sed -e 's/0*$//'` # get rid of trailling zeroes > + > + # remove any trailing zeroes from min, max if they have fractional parts > + # and then remove any decimal points not followed by digits > + _min=`echo $_min | sed -e '/\./s/0*$//' | sed -e 's/\.$//'` > + _max=`echo $_max | sed -e '/\./s/0*$//' | sed -e 's/\.$//'` You can do this with a single sed invocation via multiple expressions: $ echo 200.00 | sed -e '/\./s/0*$//' -e 's/\.$//' 200 $ Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs