move timeval-diff function into utils.h from app_alarmreceiver.c
authorKevin P. Fleming <kpfleming@digium.com>
Thu, 9 Jun 2005 14:39:34 +0000 (14:39 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Thu, 9 Jun 2005 14:39:34 +0000 (14:39 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5882 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_alarmreceiver.c
include/asterisk/utils.h

index 324d656..bdf264e 100755 (executable)
@@ -219,20 +219,6 @@ static int send_tone_burst(struct ast_channel *chan, float freq, int duration, i
 }
 
 /*
-* Return the difference in milliseconds between two timeval structs
-*/
-
-static int ms_diff(struct timeval *tv1, struct timeval *tv2){
-
-       int     ms;
-       
-       ms = (tv1->tv_sec - tv2->tv_sec) * 1000;
-       ms += (tv1->tv_usec - tv2->tv_usec) / 1000;
-       
-       return(ms);
-}
-
-/*
 * Receive a string of DTMF digits where the length of the digit string is known in advance. Do not give preferential
 * treatment to any digit value, and allow separate time out values to be specified for the first digit and all subsequent
 * digits.
@@ -256,7 +242,7 @@ static int receive_dtmf_digits(struct ast_channel *chan, char *digit_string, int
                gettimeofday(&now,NULL);
                
                  /* if outa time, leave */
-               if (ms_diff(&now,&lastdigittime) > 
+               if (ast_tvdiff_ms(&lastdigittime, &now) > 
                    ((i > 0) ? sdto : fdto)){
                        if(option_verbose >= 4)
                                ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: DTMF Digit Timeout on %s\n", chan->name);
index 5b2001a..9fb0b83 100755 (executable)
@@ -247,4 +247,17 @@ void ast_copy_string(char *dst, const char *src, size_t size);
 */
 int ast_build_string(char **buffer, size_t *space, const char *fmt, ...) __attribute__ ((format (printf, 3, 4)));
 
+/* functions for working with 'struct timeval' instances */
+
+/*!
+ * \brief Computes the difference (in milliseconds) between two \c struct \c timeval instances.
+ * \param start the beginning of the time period
+ * \param end the end of the time period
+ * \return the difference in milliseconds
+ */
+static inline int ast_tvdiff_ms(struct timeval *start, struct timeval *end)
+{
+       return ((end->tv_sec - start->tv_sec) * 1000) + ((end->tv_usec - start->tv_usec) / 1000);
+}
+
 #endif /* _ASTERISK_UTILS_H */