Apache2 で時刻の内部表現として定義している apr_time_t という型
は単位が100万分の1秒になっているので、そのまま time_t として使
うことができないようです。
気付いた範囲で Request#request_time と Request#finfo の時刻ま
わりの値を直すパッチを付けます。
--
ごとうゆうぞう
--- request.c 2002/05/21 04:38:57 1.28
+++ request.c 2002/09/02 06:06:22
@@ -527,7 +527,11 @@ static VALUE request_request_time(VALUE
request_data *data;
data = get_request_data(self);
+#ifdef APACHE2
+ return rb_time_new(apr_time_sec(data->request->request_time), 0);
+#else
return rb_time_new(data->request->request_time, 0);
+#endif
}
static VALUE request_header_only(VALUE self)
@@ -730,9 +734,9 @@ static VALUE request_finfo(VALUE self)
st->st_uid = data->request->finfo.user;
st->st_gid = data->request->finfo.group;
st->st_size = data->request->finfo.size;
- st->st_atime = data->request->finfo.atime;
- st->st_mtime = data->request->finfo.mtime;
- st->st_ctime = data->request->finfo.ctime;
+ st->st_atime = apr_time_sec(data->request->finfo.atime);
+ st->st_mtime = apr_time_sec(data->request->finfo.mtime);
+ st->st_ctime = apr_time_sec(data->request->finfo.ctime);
}
#else /* Apache 1.x */
*st = data->request->finfo;