aboutsummaryrefslogtreecommitdiffstats
path: root/epan/nstime.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2010-10-27 07:44:26 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2010-10-27 07:44:26 +0000
commit321188339e69f5e51630370b8ff1a42a19c69856 (patch)
treeabfadf6364dd5b6353dfc23a3d5929e267be0ec2 /epan/nstime.c
parentb4d195f256d9f93d9ea584b89008d0899ddfcb9f (diff)
Added two new functions: nstime_diff() and nstime_subtract().
svn path=/trunk/; revision=34660
Diffstat (limited to 'epan/nstime.c')
-rw-r--r--epan/nstime.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/epan/nstime.c b/epan/nstime.c
index da7fc35e05..7ceaf8e975 100644
--- a/epan/nstime.c
+++ b/epan/nstime.c
@@ -131,6 +131,24 @@ void nstime_sum(nstime_t *sum, const nstime_t *a, const nstime_t *b)
}
/*
+ * function: nstime_diff
+ * diff = a - b
+ */
+
+void nstime_diff(nstime_t *diff, const nstime_t *a, const nstime_t *b)
+{
+ diff->secs = a->secs - b->secs;
+ diff->nsecs = a->nsecs - b->nsecs;
+ if(diff->nsecs>=NS_PER_S || (diff->nsecs>0 && diff->secs<0)){
+ diff->nsecs-=NS_PER_S;
+ diff->secs++;
+ } else if(diff->nsecs<=-NS_PER_S || (diff->nsecs<0 && diff->secs>0)) {
+ diff->nsecs+=NS_PER_S;
+ diff->secs--;
+ }
+}
+
+/*
* function: nstime_cmp
*
* a > b : > 0