diff options
author | Thomas G. Lockhart <lockhart@fourpalms.org> | 1999-05-04 15:50:24 +0000 |
---|---|---|
committer | Thomas G. Lockhart <lockhart@fourpalms.org> | 1999-05-04 15:50:24 +0000 |
commit | 84e832a8027354c6c583e837a80fba64bf83298d (patch) | |
tree | 79f28c60e85cbeede786295c90e6f2dcf0a8be11 | |
parent | 54067db6426a9c515d01e6a6c228bf9f8e56199a (diff) | |
download | postgresql-84e832a8027354c6c583e837a80fba64bf83298d.tar.gz postgresql-84e832a8027354c6c583e837a80fba64bf83298d.zip |
Use sprintf() to convert float8 to a string during conversion to numeric.
Original code used float8out(), but the resulting exponential notation
was not handled (e.g. '3E9' was decoded as '3').
-rw-r--r-- | src/backend/utils/adt/numeric.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c index 9dea44a25c5..e00e2186847 100644 --- a/src/backend/utils/adt/numeric.c +++ b/src/backend/utils/adt/numeric.c @@ -5,7 +5,7 @@ * * 1998 Jan Wieck * - * $Header: /cvsroot/pgsql/src/backend/utils/adt/numeric.c,v 1.11 1999/03/14 16:49:32 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/numeric.c,v 1.12 1999/05/04 15:50:24 thomas Exp $ * * ---------- */ @@ -1693,7 +1693,7 @@ float8_numeric(float64 val) { Numeric res; NumericVar result; - char *tmp; + char buf[512]; if (val == NULL) return NULL; @@ -1703,12 +1703,11 @@ float8_numeric(float64 val) init_var(&result); - tmp = float8out(val); - set_var_from_str(tmp, &result); + sprintf(buf, "%f", *val); + set_var_from_str(buf, &result); res = make_result(&result); free_var(&result); - pfree(tmp); return res; } |