From 1be00173c134b837ddda2eba77b2d914ce244140 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 6 Apr 2006 23:31:40 +0000 Subject: change pa_gettimeofday() to return a pointer to the struct timeval*, instead of an int git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@645 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/polypcore/util.c | 32 +++++++++++++++++--------------- src/polypcore/util.h | 2 +- 2 files changed, 18 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/polypcore/util.c b/src/polypcore/util.c index f810b3bf..b37a25a3 100644 --- a/src/polypcore/util.c +++ b/src/polypcore/util.c @@ -418,9 +418,11 @@ char *pa_strlcpy(char *b, const char *s, size_t l) { return b; } -int pa_gettimeofday(struct timeval *tv) { +struct timeval *pa_gettimeofday(struct timeval *tv) { #ifdef HAVE_GETTIMEOFDAY - return gettimeofday(tv, NULL); + assert(tv); + + return gettimeofday(tv, NULL) < 0 ? NULL : tv; #elif defined(OS_IS_WIN32) /* * Copied from implementation by Steven Edwards (LGPL). @@ -437,18 +439,18 @@ int pa_gettimeofday(struct timeval *tv) { LARGE_INTEGER li; __int64 t; - if (tv) { - GetSystemTimeAsFileTime(&ft); - li.LowPart = ft.dwLowDateTime; - li.HighPart = ft.dwHighDateTime; - t = li.QuadPart; /* In 100-nanosecond intervals */ - t -= EPOCHFILETIME; /* Offset to the Epoch time */ - t /= 10; /* In microseconds */ - tv->tv_sec = (long)(t / 1000000); - tv->tv_usec = (long)(t % 1000000); - } + assert(tv); - return 0; + GetSystemTimeAsFileTime(&ft); + li.LowPart = ft.dwLowDateTime; + li.HighPart = ft.dwHighDateTime; + t = li.QuadPart; /* In 100-nanosecond intervals */ + t -= EPOCHFILETIME; /* Offset to the Epoch time */ + t /= 10; /* In microseconds */ + tv->tv_sec = (long)(t / 1000000); + tv->tv_usec = (long)(t % 1000000); + + return tv; #else #error "Platform lacks gettimeofday() or equivalent function." #endif @@ -503,8 +505,8 @@ int pa_timeval_cmp(const struct timeval *a, const struct timeval *b) { pa_usec_t pa_timeval_age(const struct timeval *tv) { struct timeval now; assert(tv); - pa_gettimeofday(&now); - return pa_timeval_diff(&now, tv); + + return pa_timeval_diff(pa_gettimeofday(&now), tv); } /* Add the specified time inmicroseconds to the specified timeval structure */ diff --git a/src/polypcore/util.h b/src/polypcore/util.h index 424283e7..f05339c4 100644 --- a/src/polypcore/util.h +++ b/src/polypcore/util.h @@ -55,7 +55,7 @@ char *pa_get_home_dir(char *s, size_t l); const char *pa_path_get_filename(const char *p); -int pa_gettimeofday(struct timeval *tv); +struct timeval *pa_gettimeofday(struct timeval *tv); pa_usec_t pa_timeval_diff(const struct timeval *a, const struct timeval *b); int pa_timeval_cmp(const struct timeval *a, const struct timeval *b); pa_usec_t pa_timeval_age(const struct timeval *tv); -- cgit