msvcrt versions 8.0 - 12.0 and UCRT do not have _strcmpi symbol.

For these CRT versions (which have NO_STRCMPI_ALIAS) is later in the file
symbol _strcmpi defined as an alias to _stricmp symbol.

So for these affected CRT versions define strcmpi as an alias to _stricmp.
---
 mingw-w64-crt/def-include/msvcrt-common.def.in | 8 +++++++-
 mingw-w64-crt/lib-common/ucrtbase.def.in       | 1 -
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in 
b/mingw-w64-crt/def-include/msvcrt-common.def.in
index 47ce52cb9f8a..41277606933f 100644
--- a/mingw-w64-crt/def-include/msvcrt-common.def.in
+++ b/mingw-w64-crt/def-include/msvcrt-common.def.in
@@ -95,8 +95,14 @@ ADD_UNDERSCORE(spawnve)
 ADD_UNDERSCORE(spawnvp)
 ADD_UNDERSCORE(spawnvpe)
 ; ADD_UNDERSCORE(stat)
-#ifndef UCRTBASE
+#ifdef NO_STRCMPI_ALIAS
+; Symbol _strcmpi is natively present and defined in the library def file
+; So define strcmpi as an alias to _strcmpi
 ADD_UNDERSCORE(strcmpi)
+#else
+; Symbol _strcmpi is not present in the library, it provides only _stricmp 
symbol
+; So define strcmpi as an alias to _stricmp
+strcmpi == _stricmp
 #endif
 ADD_UNDERSCORE(strdup)
 ADD_UNDERSCORE(stricmp)
diff --git a/mingw-w64-crt/lib-common/ucrtbase.def.in 
b/mingw-w64-crt/lib-common/ucrtbase.def.in
index f42cf8f680bc..b5aff62bd878 100644
--- a/mingw-w64-crt/lib-common/ucrtbase.def.in
+++ b/mingw-w64-crt/lib-common/ucrtbase.def.in
@@ -2538,7 +2538,6 @@ strcat
 strcat_s
 strchr
 strcmp
-strcmpi == _stricmp
 strcoll
 strcpy
 strcpy_s
-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to