aboutsummaryrefslogtreecommitdiff
path: root/src/port/snprintf.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-03-12 04:00:56 +0000
committerBruce Momjian <bruce@momjian.us>2005-03-12 04:00:56 +0000
commitc82f76e1ac505891c9d8df3ac070eb20fad09e8d (patch)
tree6b048ed1fbe2596587240c2bf61f76f5a4095361 /src/port/snprintf.c
parenta214e9c9967acf78d938ea205b7bf24e18cdf11a (diff)
downloadpostgresql-c82f76e1ac505891c9d8df3ac070eb20fad09e8d.tar.gz
postgresql-c82f76e1ac505891c9d8df3ac070eb20fad09e8d.zip
Fix snprintf() to properly handle precision specification for %f.
Diffstat (limited to 'src/port/snprintf.c')
-rw-r--r--src/port/snprintf.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/port/snprintf.c b/src/port/snprintf.c
index 602f7fed9c6..7a7aa91d65a 100644
--- a/src/port/snprintf.c
+++ b/src/port/snprintf.c
@@ -65,7 +65,7 @@
* causing nasty effects.
**************************************************************/
-/*static char _id[] = "$PostgreSQL: pgsql/src/port/snprintf.c,v 1.18 2005/03/11 19:13:43 momjian Exp $";*/
+/*static char _id[] = "$PostgreSQL: pgsql/src/port/snprintf.c,v 1.19 2005/03/12 04:00:56 momjian Exp $";*/
int pg_snprintf(char *str, size_t count, const char *fmt,...);
int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args);
@@ -252,6 +252,7 @@ dopr(char *buffer, const char *format, va_list args, char *end)
case '8':
case '9':
if (pointflag)
+ /* could also be precision */
maxwidth = maxwidth * 10 + ch - '0';
else
{
@@ -455,6 +456,7 @@ dopr(char *buffer, const char *format, va_list args, char *end)
fmtpar[fmtpos].ljust = ljust;
fmtpar[fmtpos].len = len;
fmtpar[fmtpos].maxwidth = maxwidth;
+ fmtpar[fmtpos].precision = position;
fmtpar[fmtpos].pointflag = pointflag;
fmtpar[fmtpos].func = FMTFLOAT;
fmtpar[fmtpos].realpos = realpos?realpos:fmtpos;