summaryrefslogtreecommitdiff
path: root/src/c
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2010-12-29 16:16:25 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2010-12-29 16:16:25 -0500
commit0acfbea74402326b59661b3b45130511e8d55d87 (patch)
tree16207dfa629a75fdd23efc7f154b20b025cc72e6 /src/c
parentdaa93680ac0733b94a21ef104dc8f9a3f58f80af (diff)
Don't forget to call tzset()
Diffstat (limited to 'src/c')
-rw-r--r--src/c/urweb.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/c/urweb.c b/src/c/urweb.c
index 880666d8..6ddd6271 100644
--- a/src/c/urweb.c
+++ b/src/c/urweb.c
@@ -3675,10 +3675,14 @@ uw_Basis_bool uw_Basis_le_time(uw_context ctx, uw_Basis_time t1, uw_Basis_time t
uw_Basis_time *uw_Basis_readUtc(uw_context ctx, uw_Basis_string s) {
struct tm stm = {};
+ char *end = strchr(s, 0);
- if (strptime(s, TIME_FMT_PG, &stm) || strptime(s, TIME_FMT, &stm)) {
+ if (strptime(s, TIME_FMT_PG, &stm) == end || strptime(s, TIME_FMT, &stm) == end) {
uw_Basis_time *r = uw_malloc(ctx, sizeof(uw_Basis_time));
+
+ tzset();
stm.tm_hour -= timezone / (60 * 60);
+
r->seconds = mktime(&stm);
r->microseconds = 0;