From: Michael Hampton Date: Fri, 19 Aug 2005 01:53:06 +0000 (+0000) Subject: Fix lingering timezone problem in If-Modified-Since X-Git-Tag: v7.86~4710 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=c4b6017c2f87080eceb593fd510cc29bac3e31bc Fix lingering timezone problem in If-Modified-Since --- 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");