From: Jeremy Bobbin <[email protected]>

stat(3)'s mtime is in local time while REQ_MOD is in GMT.
This patch translates mtime to GMT before comparing to REQ_MOD.
---
 http.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/http.c b/http.c
index 249c168..0c707be 100644
--- a/http.c
+++ b/http.c
@@ -531,7 +531,8 @@ http_send_response(int fd, struct request *r)
                }
 
                /* compare with last modification date of the file */
-               if (difftime(st.st_mtim.tv_sec, mktime(&tm)) <= 0) {
+               time_t mtime = mktime(gmtime(&st.st_mtim.tv_sec));
+               if (difftime(mtime, mktime(&tm)) <= 0) {
                        if (dprintf(fd,
                                    "HTTP/1.1 %d %s\r\n"
                                    "Date: %s\r\n"
-- 
2.27.0


Reply via email to