Your message dated Mon, 20 Nov 2017 21:43:22 +0000 with message-id <[email protected]> and subject line Bug#863064: fixed in mingw-w64 5.0.3-1 has caused the Debian Bug report #863064, regarding MinGW multimon.h fails to compile with COMPILE_MULTIMON_STUBS defined to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 863064: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863064 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: mingw-w64-common Version: 5.0.1-1 The following trivial souce file fails to compile with MinGW: ------ #include <windows.h> #define COMPILE_MULTIMON_STUBS #include <multimon.h> ------ with the following errors: $ x86_64-w64-mingw32-gcc -c mingtest.c In file included from mingtest.c:3:0: /usr/share/mingw-w64/include/multimon.h: In function IsPlatformNT : /usr/share/mingw-w64/include/multimon.h:130:38: error: osvi undeclared (first use in this function) oi.dwOSVersionInfoSize = sizeof (osvi); ^ /usr/share/mingw-w64/include/multimon.h:130:38: note: each undeclared identifier is reported only once for each function it appears in In file included from mingtest.c:3:0: /usr/share/mingw-w64/include/multimon.h: In function xGetMonitorInfo : /usr/share/mingw-w64/include/multimon.h:260:16: error: invalid type argument of -> (have MONITORINFOEX {aka struct tagMONITORINFOEXA} ) lstrcpyn (c.ex->szDevice, "DISPLAY", sizeof (c.ex->szDevice)); ^ /usr/share/mingw-w64/include/multimon.h:260:51: error: invalid type argument of -> (have MONITORINFOEX {aka struct tagMONITORINFOEXA} ) lstrcpyn (c.ex->szDevice, "DISPLAY", sizeof (c.ex->szDevice)); ^ It looks as if this header file has never been tested at all in the mode that uses COMPILE_MULTIMON_STUBS. The first line should simply use the actual variable name 'oi' in place of the nonexistent one 'osvi'. (The point is that this is one of the many Windows API structs whose first element is a field giving its own size, to permit later API revisions to append fields to the end without overrunning memory in older clients, so it's clear that the sizeof is meant to apply to the _same_ structure we're writing into.) The second pair of errors arise because c.ex is an actual MONITORINFOEX structure rather than a pointer to one. So candidate fixes are to replace the '->' with '.', or to make c.ex a pointer. Looking at the code, the latter seems like the right choice, because the point of 'c' itself seems to be that it's a union used to type-pun between pointers to two related structure types; the user passes in a pointer to MONITORINFO, and we turn it into a pointer to MONITORINFOEX (which includes an extra field at the end), and then write the extra field if the size field permits. So both members of 'c' ought to be pointers, and hence the right fix is to declare the union at the top of xGetMonitorInfo() so that the field 'ex' has type LPMONITORINFOEX rather than plain MONITORINFOEX. Cheers, Simon -- for k in [pow(x,37,0x1a1298d262b49c895d47f) for x in [0x50deb914257022de7fff, 0x213558f2215127d5a2d1, 0x90c99e86d08b91218630, 0x109f3d0cfbf640c0beee7, 0xc83e01379a5fbec5fdd1, 0x19d3d70a8d567e388600e, 0x534e2f6e8a4a33155123]]: print "".join([chr(32+3*((k>>x)&1))for x in range(79)]) # <[email protected]>
--- End Message ---
--- Begin Message ---Source: mingw-w64 Source-Version: 5.0.3-1 We believe that the bug you reported is fixed in the latest version of mingw-w64, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Stephen Kitt <[email protected]> (supplier of updated mingw-w64 package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Sat, 18 Nov 2017 21:16:23 +0100 Source: mingw-w64 Binary: mingw-w64-common mingw-w64-i686-dev mingw-w64-x86-64-dev mingw-w64 mingw-w64-tools Architecture: source Version: 5.0.3-1 Distribution: unstable Urgency: medium Maintainer: Stephen Kitt <[email protected]> Changed-By: Stephen Kitt <[email protected]> Description: mingw-w64 - Development environment targeting 32- and 64-bit Windows mingw-w64-common - Common files for Mingw-w64 mingw-w64-i686-dev - Development files for MinGW-w64 targeting Win32 mingw-w64-tools - Development tools for 32- and 64-bit Windows mingw-w64-x86-64-dev - Development files for MinGW-w64 targeting Win64 Closes: 863064 Changes: mingw-w64 (5.0.3-1) unstable; urgency=medium . * New upstream release. * Move to “Priority: optional”, “extra” is obsolete. * Mark mingw-w64-common as “Multi-Arch: foreign”. * Apply Simon Tatham’s fix for IsPlatformNT in multimon.h. (Along with upstream fixes for the pointer issues, this closes: #863064.) * Ensure alloca() is available on kFreeBSD. Checksums-Sha1: 868b47f85f459d55bd2b8d2921edbb54c2c4eabd 2297 mingw-w64_5.0.3-1.dsc 96278378b829695007ce6a527278cba19cb829f2 9160627 mingw-w64_5.0.3.orig.tar.bz2 336ca188e11d93cf07e67dea27cf99ccb7fddc6a 104064 mingw-w64_5.0.3-1.debian.tar.xz 55fa5f53d179afddc78c1036051edd9ca2044733 6158 mingw-w64_5.0.3-1_source.buildinfo Checksums-Sha256: a5fb2fa0846dfffe735d4539e3c384150d04d3824aaf55bafec8a59fa7507705 2297 mingw-w64_5.0.3-1.dsc 2a601db99ef579b9be69c775218ad956a24a09d7dabc9ff6c5bd60da9ccc9cb4 9160627 mingw-w64_5.0.3.orig.tar.bz2 cfa3d2feb021b0f419e9791e66fc687630e9042811aedcd22780e6cd4f68fdd8 104064 mingw-w64_5.0.3-1.debian.tar.xz c38f2b01aa95a4b2697a9bf36ba22c6aede71fd24089444b33ceefa5477d9a38 6158 mingw-w64_5.0.3-1_source.buildinfo Files: 324ae00475a63d4324ee3a7a44b02b47 2297 devel optional mingw-w64_5.0.3-1.dsc 5524c20312560cc8683b7d8ee292cb8c 9160627 devel optional mingw-w64_5.0.3.orig.tar.bz2 eb108db60abbf8c15379cb0b5f2b1090 104064 devel optional mingw-w64_5.0.3-1.debian.tar.xz 2d9d657030493e0956772071c0cd58ee 6158 devel optional mingw-w64_5.0.3-1_source.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEednFjFDWtapl1TDBdZd4qaNrSU8FAloQlUEACgkQdZd4qaNr SU/wIQ//XygRP+uBAdP2LusLhcwpP5kFKIVuClcW+nAwUYf2hOITAdFZDnPwDVBj 95VLrh4GbxmjcSvVCKQz7OXeIz5+PjWGkFxtiZbgKcN4NcqfzPO2X7nBEkP+GLKT 3bYWM/fGRS/iiaCs/94vujLSZZMBidV6/YLe3y0EH/X9NDxyC/MJdxt1Ma838cZH 5tsLwQs1xcZaF8gxNlhhc5bzi6+3R0OmV2e9SDWvB7B82BzRZ+vShFI2RhpaqqsU 21t8LTPh8z/JdFV54lLVzEVi8lcl5ycFnWrZ11+MeAtf29HENpK6AonP0uMUDRd+ uW5P/fCrWgAaW8tJnUvoHycuGiZlxv4Ub0YmeAS/j/J25cyS4AggoIN2b9w0CwtX ZeT1TsLUXsTjoOg7mDLBOumhmXB1b2xRLysUivhquj88Kb6g7TL2UMm4AcnuD9ZG Znp1fNTB8mC24/MJaB2xhmLhsv5BVuUlXQW7ZqC2iPryCGFb4G06p82YFw+kOoUl 5krTS/aXoBW4fHbyiQBXz1KFJE9amkV9Xz7XHtBqfCxi/TeyQlHvNXPm2XUHsGWB twzNQhycAVgG4CznX6zyZeg4ZTAI0OgZhKYnfrYdIQ4x0Vw5UhtgmkfS0qqmTUdw VJva4P01H98G20PpdZUzir0Qj7k+UbYzumVaoYh1CFJhL1sTrcY= =yhtC -----END PGP SIGNATURE-----
--- End Message ---

