summaryrefslogtreecommitdiff
path: root/timev.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-03-30 21:08:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-03-30 21:08:36 +0000
commit77ff241fa0bc5f9db2606486f486a3de39f70718 (patch)
tree50223374887fd93610a093aa009138bc2370becb /timev.h
parentf2e1bfb89762fe4f98d0467299ec046cf75fb51d (diff)
timev.h: move time_t stuffs
* timev.h (TYPEOF_TIMEVAL_TV_SEC, unsigned_time_t): move from time.c. * thread.c: use definitions in timev.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'timev.h')
-rw-r--r--timev.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/timev.h b/timev.h
index 631fcf3..983ef66 100644
--- a/timev.h
+++ b/timev.h
@@ -18,4 +18,25 @@ struct vtm {
#define TIME_SCALE 1000000000
+#ifndef TYPEOF_TIMEVAL_TV_SEC
+# define TYPEOF_TIMEVAL_TV_SEC time_t
+#endif
+#ifndef TYPEOF_TIMEVAL_TV_USEC
+# if INT_MAX >= 1000000
+# define TYPEOF_TIMEVAL_TV_USEC int
+# else
+# define TYPEOF_TIMEVAL_TV_USEC long
+# endif
+#endif
+
+#if SIZEOF_TIME_T == SIZEOF_LONG
+typedef unsigned long unsigned_time_t;
+#elif SIZEOF_TIME_T == SIZEOF_INT
+typedef unsigned int unsigned_time_t;
+#elif SIZEOF_TIME_T == SIZEOF_LONG_LONG
+typedef unsigned LONG_LONG unsigned_time_t;
+#else
+# error cannot find integer type which size is same as time_t.
+#endif
+
#endif