Calculate tvdiff properly (avoid off-by-one)
authorMark Spencer <markster@digium.com>
Wed, 5 Jan 2005 22:29:30 +0000 (22:29 +0000)
committerMark Spencer <markster@digium.com>
Wed, 5 Jan 2005 22:29:30 +0000 (22:29 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4682 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channel.c

index 467fbc9..efd6486 100755 (executable)
--- a/channel.c
+++ b/channel.c
@@ -2546,7 +2546,11 @@ int ast_setstate(struct ast_channel *chan, int state)
 
 static long tvdiff(struct timeval *now, struct timeval *then) 
 {
+#if 0
        return (((now->tv_sec * 1000) + now->tv_usec / 1000) - ((then->tv_sec * 1000) + then->tv_usec / 1000));
+#else
+       return (now->tv_sec - then->tv_sec) * 1000 + (now->tv_usec - then->tv_usec) / 1000;     
+#endif
 }
 
 struct ast_channel *ast_bridged_channel(struct ast_channel *chan)