dbus-monitor: use _dbus_get_real_time instead of gettimeofday
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Wed, 4 Mar 2015 12:10:17 +0000 (12:10 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Thu, 5 Mar 2015 13:14:37 +0000 (13:14 +0000)
gettimeofday is implicitly declared (i.e. not in our #include'd header
files) when cross-compiling for on Windows. Now that fd.o#83115
has been fixed, using _dbus functions is not a problem.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89428
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
tools/dbus-monitor.c

index 0aea2e7..9cec0a7 100644 (file)
@@ -218,7 +218,7 @@ binary_filter_func (DBusConnection *connection,
     {
       case BINARY_MODE_PCAP:
           {
-            struct timeval t = { 0, 0 };
+            long tv_sec, tv_usec;
             /* seconds, microseconds, bytes captured (possibly truncated),
              * original length.
              * http://wiki.wireshark.org/Development/LibpcapFileFormat
@@ -228,15 +228,9 @@ binary_filter_func (DBusConnection *connection,
             /* If this gets padded then we'd need to write it out in pieces */
             _DBUS_STATIC_ASSERT (sizeof (header) == 16);
 
-            if (_DBUS_UNLIKELY (gettimeofday (&t, NULL) < 0))
-              {
-                /* I'm fairly sure this can't actually happen */
-                perror ("dbus-monitor: gettimeofday");
-                exit (1);
-              }
-
-            header[0] = t.tv_sec;
-            header[1] = t.tv_usec;
+            _dbus_get_real_time (&tv_sec, &tv_usec);
+            header[0] = tv_sec;
+            header[1] = tv_usec;
 
             if (!tool_write_all (STDOUT_FILENO, header, sizeof (header)))
               {