diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2006-12-31 12:20:54 +0000 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2006-12-31 12:20:54 +0000 |
commit | 3a33c8e294bf1b4338fc81bcd9b0889de3c0e0f0 (patch) | |
tree | 3adcf3505402c605c94ae9c128d293fa7545d08c | |
parent | 2dae3a600ba5adfa47645438843e9d61b171d019 (diff) |
* tools/dbus-monitor.c: gettimeofday() is not available
on windows so we have to provide our own. It's taken from
lgpl'd kdewin32 package. - Patches from Christian Ehrlicher
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | tools/dbus-monitor.c | 29 |
2 files changed, 35 insertions, 0 deletions
@@ -1,5 +1,11 @@ 2006-12-31 Ralf Habacker <ralf.habacker@freenet.de> + * tools/dbus-monitor.c: gettimeofday() is not available + on windows so we have to provide our own. It's taken from + lgpl'd kdewin32 package. - Patches from Christian Ehrlicher + +2006-12-31 Ralf Habacker <ralf.habacker@freenet.de> + * dbus/dbus-sysdeps-unix.c: moved _dbus_atomic_inc/dec() from dbus/dbus-sysdeps.c, windows version of _dbus_atomic_inc/dec() is in dbus-sysdeps-win.c (not in this patch). diff --git a/tools/dbus-monitor.c b/tools/dbus-monitor.c index eb3da072..9f7da5b2 100644 --- a/tools/dbus-monitor.c +++ b/tools/dbus-monitor.c @@ -24,13 +24,42 @@ #include <stdlib.h> #include <string.h> +#ifdef DBUS_WIN +#include <winsock2.h> +#undef interface +#else #include <sys/time.h> +#endif + #include <time.h> #include <signal.h> #include "dbus-print-message.h" +#ifdef DBUS_WIN + +/* gettimeofday is not defined on windows */ +#define DBUS_SECONDS_SINCE_1601 11644473600LL +#define DBUS_USEC_IN_SEC 1000000LL + +static int +gettimeofday (struct timeval *__p, + void *__t) +{ + union { + unsigned long long ns100; /*time since 1 Jan 1601 in 100ns units */ + FILETIME ft; + } now; + + GetSystemTimeAsFileTime (&now.ft); + __p->tv_usec = (long) ((now.ns100 / 10LL) % DBUS_USEC_IN_SEC); + __p->tv_sec = (long)(((now.ns100 / 10LL) / DBUS_SECONDS_SINCE_1601) - DBUS_SECONDS_SINCE_1601); + + return 0; +} +#endif + static DBusHandlerResult monitor_filter_func (DBusConnection *connection, DBusMessage *message, |