From 2a50cb475bfaf331e2451bbe70c2b3bbdd1ad69d Mon Sep 17 00:00:00 2001 From: Wolfgang Baron Date: Wed, 18 Jul 2012 18:09:44 +0100 Subject: [PATCH] Fix launching of dbus-daemon on Windows in paths containing spaces If dbus is installed in a path, which contains a space, dbus-launch will not launch the daemon. That is so, because a command line is built from just the path to the daemon and a parameter. The path has to be surrounded with quotes. This can be done unconditionally, because the quotes do not cause any trouble even if they are not needed. Reviewed-by: Ralf Habacker Bug: https://bugs.freedesktop.org/show_bug.cgi?id=49450 --- tools/dbus-launch-win.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/dbus-launch-win.c b/tools/dbus-launch-win.c index ea4bf0d..215fac3 100644 --- a/tools/dbus-launch-win.c +++ b/tools/dbus-launch-win.c @@ -130,9 +130,10 @@ main (int argc, char **argv) fprintf (stderr, "%ls %ls\n", dbusDaemonPath, command); #else command[0] = L'\0'; - /* Windows CE has a different interpretation of cmdline: Start with argv[1]. */ - wcscpy_s (command, sizeof (command), dbusDaemonPath); - wcscat_s (command, sizeof (command), L" --session"); + /* Windows cmdline starts with path, which can contain spaces. */ + wcscpy_s (command, sizeof (command), L"\""); + wcscat_s (command, sizeof (command), dbusDaemonPath); + wcscat_s (command, sizeof (command), L"\" --session"); if (verbose) fprintf (stderr, "%ls\n", command); #endif -- 2.7.4