From c4b6017c2f87080eceb593fd510cc29bac3e31bc Mon Sep 17 00:00:00 2001 From: Michael Hampton Date: Fri, 19 Aug 2005 01:53:06 +0000 Subject: [PATCH] Fix lingering timezone problem in If-Modified-Since --- webcit/fmt_date.c | 12 +++++++++++- webcit/rss.c | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/webcit/fmt_date.c b/webcit/fmt_date.c index 546b72bbb..4481063f8 100644 --- a/webcit/fmt_date.c +++ b/webcit/fmt_date.c @@ -156,7 +156,9 @@ time_t httpdate_to_timestamp(const char *buf) time_t t = 0; struct tm tt; char *c; + char tz[256]; +lprintf(3, "Datestamp: %s\n", buf); /* Skip day of week, to number */ for (c = buf; *c != ' '; c++) ; @@ -222,7 +224,15 @@ time_t httpdate_to_timestamp(const char *buf) for (; *c && *c != ' '; c++); /* Got everything; let's go */ - tt.tm_isdst = 0; + /* First, change to UTC */ + if (getenv("TZ")) + sprintf(tz, "TZ=%s", getenv("TZ")); + else + strcpy(tz, "TZ="); + putenv("TZ=UTC"); + tzset(); t = mktime(&tt); + putenv(tz); + tzset(); return t; } diff --git a/webcit/rss.c b/webcit/rss.c index e479eb7a7..0d131873c 100644 --- a/webcit/rss.c +++ b/webcit/rss.c @@ -50,7 +50,7 @@ void display_rss(const char *roomname) return; } - nummsgs = load_msg_ptrs("MSGS LAST|50", 0); + nummsgs = load_msg_ptrs("MSGS LAST|15", 0); if (nummsgs == 0) { wprintf("HTTP/1.0 404 Not Found\r\n"); wprintf("Content-Type: text/html\r\n"); -- 2.30.2