]> granicus.if.org Git - postgresql/commit
Fix psql's code for locale-aware formatting of numeric output.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 25 Sep 2015 03:01:04 +0000 (23:01 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 25 Sep 2015 03:01:04 +0000 (23:01 -0400)
commit596c9e9efdbef0b0a597f3c8df478e51a50729e3
tree175ac66a29fdd264af3ef84067edb44b6e5bcc80
parentf12932dd43512c5be0a07e473be8c77bc39ea74b
Fix psql's code for locale-aware formatting of numeric output.

This code did the wrong thing entirely for numbers with an exponent
but no decimal point (e.g., '1e6'), as reported by Jeff Janes in
bug #13636.  More generally, it made lots of unverified assumptions
about what the input string could possibly look like.  Rearrange so
that it only fools with leading digits that it's directly verified
are there, and an immediately adjacent decimal point.  While at it,
get rid of some useless inefficiencies, like converting the grouping
count string to integer over and over (and over).

This has been broken for a long time, so back-patch to all supported
branches.
src/bin/psql/print.c