summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2011-01-22 10:53:06 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2011-01-22 10:53:06 -0500
commit9dc6b1925c05126c35b1c6ea7a8c5962e04a6df2 (patch)
treee1ab0f7383d4f3bbf202aff8694ee8212284b424
parent7ceef1ac7ef44b049f7964c476fa30684f8fc8df (diff)
Fix parsing of Postgres timestamps with super-microsecond fractional seconds, based on patch from Vladimir Shabanov
-rw-r--r--src/c/urweb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/c/urweb.c b/src/c/urweb.c
index b8c1b051..2af21b7a 100644
--- a/src/c/urweb.c
+++ b/src/c/urweb.c
@@ -2842,7 +2842,10 @@ uw_Basis_time uw_Basis_unsqlTime(uw_context ctx, uw_Basis_string s) {
*dot = 0;
if (strptime(s, TIME_FMT_PG, &stm)) {
*dot = '.';
- uw_Basis_time r = { mktime(&stm), atoi(dot+1) };
+ char usec[] = "000000";
+ int len = strlen(dot+1);
+ memcpy(usec, dot+1, len < 6 ? len : 6);
+ uw_Basis_time r = { mktime(&stm), atoi(usec) };
return r;
}
else {