From c8f5c38f6683a685b767d4ed7f2ec7ca88d5bcdd Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Tue, 19 Jul 2005 19:06:24 +0000
Subject: [PATCH] let the compiler learn the types for the elements of a struct
 timeval to fix portability issues

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 include/asterisk/time.h | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/asterisk/time.h b/include/asterisk/time.h
index 4dfeb359eb..a10636a697 100755
--- a/include/asterisk/time.h
+++ b/include/asterisk/time.h
@@ -16,6 +16,13 @@
 
 #include "asterisk/inline_api.h"
 
+/* We have to let the compiler learn what types to use for the elements of a
+   struct timeval since on linux, it's time_t and suseconds_t, but on *BSD,
+   they are just a long. */
+extern struct timeval tv;
+typedef typeof(tv.tv_sec) ast_time_t;
+typedef typeof(tv.tv_usec) ast_suseconds_t;
+
 /*!
  * \brief Computes the difference (in milliseconds) between two \c struct \c timeval instances.
  * \param end the beginning of the time period
@@ -104,7 +111,7 @@ struct timeval ast_tv(int sec, int usec),
 )
 #endif
 AST_INLINE_API(
-struct timeval ast_tv(time_t sec, suseconds_t usec),
+struct timeval ast_tv(ast_time_t sec, ast_suseconds_t usec),
 {
 	struct timeval t;
 	t.tv_sec = sec;
-- 
GitLab