aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/datetime.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-05-27 15:16:45 +0000
committerBruce Momjian <bruce@momjian.us>2005-05-27 15:16:45 +0000
commitfbdb203a390de462fbf2fd0306ae5809d116b8d2 (patch)
tree94d5e065da4f4ebb706e406641ce974263a25298 /src/backend/utils/adt/datetime.c
parent22f030302350b9fa9e8d286e2f5fb40e9c52a34b (diff)
downloadpostgresql-fbdb203a390de462fbf2fd0306ae5809d116b8d2.tar.gz
postgresql-fbdb203a390de462fbf2fd0306ae5809d116b8d2.zip
Back out part of patch that should be applied later.
Diffstat (limited to 'src/backend/utils/adt/datetime.c')
-rw-r--r--src/backend/utils/adt/datetime.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c
index f7274c037d3..53026363a13 100644
--- a/src/backend/utils/adt/datetime.c
+++ b/src/backend/utils/adt/datetime.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.148 2005/05/27 15:15:23 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.149 2005/05/27 15:16:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -3461,9 +3461,12 @@ EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str)
#ifdef HAVE_INT64_TIMESTAMP
sprintf(str + strlen(str), ":%02d.%06d", tm->tm_sec, fsec);
#else
- sprintf(str + strlen(str), ":%012.9f", tm->tm_sec + fsec);
+ sprintf(str + strlen(str), ":%013.10f", tm->tm_sec + fsec);
#endif
- TrimTrailingZeros(str);
+ /* chop off trailing pairs of zeros... */
+ while (strcmp((str + strlen(str) - 2), "00") == 0 &&
+ *(str + strlen(str) - 3) != '.')
+ *(str + strlen(str) - 2) = '\0';
}
else
sprintf(str + strlen(str), ":%02d", tm->tm_sec);
@@ -3801,7 +3804,7 @@ EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str)
sprintf(cp, ".%06d", Abs(fsec));
#else
fsec += tm->tm_sec;
- sprintf(cp, ":%012.9f", fabs(fsec));
+ sprintf(cp, ":%013.10f", fabs(fsec));
#endif
TrimTrailingZeros(cp);
cp += strlen(cp);