Index: [Article Count Order] [Thread]

Date:  Mon, 02 Sep 2002 16:22:12 +0900 (JST)
From:  GOTOU Yuuzou <gotoyuzo@...>
Subject:  apr_time
To:  modruby-ja@...
Message-Id:  <20020902.162212.74164328.gotoyuzo@...>
X-Mail-Count: 00340

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;