summaryrefslogtreecommitdiff
path: root/src/helper/time_support.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/helper/time_support.c')
-rw-r--r--src/helper/time_support.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/helper/time_support.c b/src/helper/time_support.c
index 620c9c48..fffc5379 100644
--- a/src/helper/time_support.c
+++ b/src/helper/time_support.c
@@ -22,6 +22,7 @@
#endif
#include "time_support.h"
+#include "log.h"
#include <sys/time.h>
#include <time.h>
@@ -82,3 +83,26 @@ int timeval_add_time(struct timeval *result, int sec, int usec)
return 0;
}
+int duration_start_measure(duration_t *duration)
+{
+ gettimeofday(&duration->start, NULL);
+
+ return ERROR_OK;
+}
+
+int duration_stop_measure(duration_t *duration, char **text)
+{
+ struct timeval end;
+
+ gettimeofday(&end, NULL);
+
+ timeval_subtract(&duration->duration, &end, &duration->start);
+
+ if (text)
+ {
+ *text = malloc(16);
+ snprintf(*text, 16, "%is %ius", duration->duration.tv_sec, duration->duration.tv_usec);
+ }
+
+ return ERROR_OK;
+}