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 <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=49450
This commit is contained in:
Wolfgang Baron 2012-07-18 18:09:44 +01:00 committed by Simon McVittie
parent a5d4c4aa35
commit 2a50cb475b

View file

@ -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