Looks like dbus-file-win.c is not following the header dbus-file.h:51; this is using the MinGW cross compiling environment :
dbus-file-win.c: In function '_dbus_string_save_to_file':
dbus-file-win.c:278:5: warning: passing argument 1 of '_dbus_make_file_world_readable' from incompatible pointer type
../dbus/dbus-file.h:51:13: note: expected 'const struct DBusString *' but argument is of type 'const char *'
dbus-file-win.c:278:5: error: too few arguments to function '_dbus_make_file_world_readable'
../dbus/dbus-file.h:51:13: note: declared here
Created attachment 38774 [details] [review]
patch to build dbus 1.4.0 on windows 7, includes fix to bug 30035
Fixes bug #30035 regarding dbus_make_file_world_readable definition-use mismatch:
! _dbus_make_file_world_readable (tmp_filename_c);
! _dbus_make_file_world_readable (&tmp_filename, error);
Also removes incorrect sanity check in dbus/dbus-sockets-win.h. Errno.h on Windows appears to define the constants used in sanity check:
#if defined(EPROTONOSUPPORT) || \
defined(EAFNOSUPPORT) || \
! #error This does not look like Win32 and the Microsoft C library
I commented out the check, but this likely needs a proper removal or investigation.
- the fix to relating to _dbus_make_file_world_readable (&tmp_filename, error) is already in git and therefore obsolate.
- the second fix will not be committed because it disables the check for all windows compilers and at least on windows xp with vs2008 this check didn't fail.
Please exclude the #error line with an #if .../#endif wrapper only been false for your specific compiler.
*** Bug 30248 has been marked as a duplicate of this bug. ***
the first patch is applied, the second already reported in another bug, so this could be closed
*** This bug has been marked as a duplicate of bug 30248 ***