From bc9d16b79f4e8c25e13be63f846cfd7152b65da1 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Mon, 22 Jun 2015 02:12:32 +0100 Subject: numfmt: handle leading zeros correctly * src/numfmt.c (simple_strtod_int): Don't count leading zeros as significant digits. Also have leading zeros as optional for floating point numbers. * tests/misc/numfmt.pl: Add test cases. * NEWS: Mention the fix. --- tests/misc/numfmt.pl | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/misc/numfmt.pl b/tests/misc/numfmt.pl index 25bba61b2..a6432a76c 100755 --- a/tests/misc/numfmt.pl +++ b/tests/misc/numfmt.pl @@ -659,6 +659,19 @@ my @Tests = ['large-15',$limits->{INTMAX_OFLOW}, {OUT=>$limits->{INTMAX_OFLOW}}], ['large-16','9.300000000000000000', {OUT=>'9.300000000000000000'}], + # Leading zeros weren't handled appropriately before 8.24 + ['leading-1','0000000000000000000000000001', {OUT=>"1"}], + ['leading-2','.1', {OUT=>"0.1"}], + ['leading-3','bad.1', + {ERR => "$prog: invalid number: 'bad.1'\n"}, + {EXIT => 2}], + ['leading-4','..1', + {ERR => "$prog: invalid suffix in input: '..1'\n"}, + {EXIT => 2}], + ['leading-5','1.', + {ERR => "$prog: invalid number: '1.'\n"}, + {EXIT => 2}], + # precision override ['precision-1','--format=%.4f 9991239123 --to=si', {OUT=>"9.9913G"}], ['precision-2','--format=%.1f 9991239123 --to=si', {OUT=>"10.0G"}], -- cgit v1.2.3-54-g00ecf