Make dbus-daemon.exe --print-address work under Windows
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 13 Feb 2012 19:54:52 +0000 (19:54 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 28 Feb 2012 12:37:41 +0000 (12:37 +0000)
commit1e35c693e474f341d03a525a54af93c101d4737d
tree053a3182867d2f360a985f0759e490710eb4bc19
parent5ed44952d9a4506d58878234cb09df8baa20461b
Make dbus-daemon.exe --print-address work under Windows

The DBusPipe code was broken by commit 6e214b5b3c2837, which switched
from C runtime API to Win32 API for WinCE's benefit. In a DBusPipe,
fd_or_handle is in fact always a C runtime file descriptor, which can't
be used with the Win32 API (which expects a HANDLE).

This commit goes back to the C runtime API. It might cause WinCE support
to regress, but at least dbus-daemon.exe --print-address works again.

This is enough to make a few tests work under Wine when cross-compiling
from Linux to mingw-w64: in particular, this now works:

    DBUS_TEST_DAEMON=bus/dbus-daemon.exe DBUS_TEST_DATA=test/data \
    wine test/test-dbus-daemon.exe -p /echo/session

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=46049
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
dbus/dbus-pipe-unix.c
dbus/dbus-pipe-win.c
dbus/dbus-pipe.c
dbus/dbus-pipe.h
dbus/dbus-sysdeps-util-unix.c
dbus/dbus-sysdeps-util-win.c