On Tue, 7 Nov 2017, Martin Storsjö wrote:

This avoids having libmingwex refer to the dllimported data symbol
from msvcrt.dll, easing linking to ucrtbase.dll which doesn't have
it exported as a data symbol.

Signed-off-by: Martin Storsjö <mar...@martin.st>
---
mingw-w64-headers/crt/ctype.h  | 2 +-
mingw-w64-headers/crt/stdlib.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mingw-w64-headers/crt/ctype.h b/mingw-w64-headers/crt/ctype.h
index 9d42896..1508836 100644
--- a/mingw-w64-headers/crt/ctype.h
+++ b/mingw-w64-headers/crt/ctype.h
@@ -203,7 +203,7 @@ int __cdecl iswblank(wint_t _C);
#define __mb_cur_max    (* __MINGW_IMP_SYMBOL(__mb_cur_max))
#endif
#endif
-#define ___mb_cur_max_func() (__mb_cur_max)
+_CRTIMP int __cdecl ___mb_cur_max_func(void);
#endif

#define __chvalidchk(a,b) (__PCTYPE_FUNC[(a)] & (b))
diff --git a/mingw-w64-headers/crt/stdlib.h b/mingw-w64-headers/crt/stdlib.h
index 00c7855..c2990cc 100644
--- a/mingw-w64-headers/crt/stdlib.h
+++ b/mingw-w64-headers/crt/stdlib.h
@@ -115,7 +115,7 @@ extern "C" {
#define __mb_cur_max    (* __MINGW_IMP_SYMBOL(__mb_cur_max))
#endif
#endif
-#define ___mb_cur_max_func() (__mb_cur_max)
+_CRTIMP int __cdecl ___mb_cur_max_func(void);
#endif

#define __max(a,b) (((a) > (b)) ? (a) : (b))
--
2.7.4

I forgot to amend the commit message here to say explicitly that ___mb_cur_max_func exists in all versions of msvcrt.dll since XP. It's not in win2k though, which probably is why we used __mb_cur_max previously.

// Martin
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to