diff src/core/ngx_times.c @ 178:a8ff48d26cca

nginx-0.0.1-2003-11-11-00:09:22 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 10 Nov 2003 21:09:22 +0000
parents
children 2d143372a1ee
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/core/ngx_times.c
@@ -0,0 +1,51 @@
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+
+
+time_t       ngx_cached_time;
+
+static char  cached_http_time[] = "Mon, 28 Sep 1970 06:00:00 GMT";
+ngx_str_t    ngx_cached_http_time;
+
+static char  cached_http_log_time[] = "28/Sep/1970:12:00:00";
+ngx_str_t    ngx_cached_http_log_time;
+
+
+time_t ngx_time()
+{
+    return ngx_cached_time;
+}
+
+
+/* TODO: remove strftime() */
+
+void ngx_time_update()
+{
+    ngx_tm_t     *tp, tm;
+    static char  *months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+                               "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
+
+    /* STUB: need to move to ngx_init_time() */
+    ngx_cached_http_time.data = cached_http_time;
+    ngx_cached_http_log_time.data = cached_http_log_time;
+
+    tp = gmtime(&ngx_cached_time);
+
+    ngx_cached_http_time.len = strftime(ngx_cached_http_time.data,
+                                        sizeof("Mon, 28 Sep 1970 06:00:00 GMT"),
+                                        "%a, %d %b %Y %H:%M:%S GMT", tp);
+
+
+    ngx_localtime(&tm);
+
+    ngx_cached_http_log_time.len = ngx_snprintf(ngx_cached_http_log_time.data,
+                                       sizeof("28/Sep/1970:12:00:00"),
+                                       "%02d/%s/%d:%02d:%02d:%02d",
+                                       tm.ngx_tm_mday,
+                                       months[tm.ngx_tm_mon - 1],
+                                       tm.ngx_tm_year,
+                                       tm.ngx_tm_hour,
+                                       tm.ngx_tm_min,
+                                       tm.ngx_tm_sec);
+}