diff options
author | Adam Chlipala <adam@chlipala.net> | 2011-01-22 10:53:06 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2011-01-22 10:53:06 -0500 |
commit | 9dc6b1925c05126c35b1c6ea7a8c5962e04a6df2 (patch) | |
tree | e1ab0f7383d4f3bbf202aff8694ee8212284b424 /src | |
parent | 7ceef1ac7ef44b049f7964c476fa30684f8fc8df (diff) |
Fix parsing of Postgres timestamps with super-microsecond fractional seconds, based on patch from Vladimir Shabanov
Diffstat (limited to 'src')
-rw-r--r-- | src/c/urweb.c | 5 |
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 { |