https://bugs.winehq.org/show_bug.cgi?id=55694 --- Comment #4 from Milan Hauth <milahu(a)gmail.com> ---
The locale versions are missing from our headers, though, but they are implemented.
problem is, "winemaker . && make" includes the wrong string.h this works: wineg++ -c -o main main.cpp -Iwine-8.10/include/wine/msvcrt now i only get warnings like wine-8.10/include/wine/msvcrt/corecrt_malloc.h:29:25: warning: declaration of ‘void* calloc(size_t, size_t)’ conflicts with built-in declaration ‘void* calloc(long unsigned int, long unsigned int)’ [-Wbuiltin-declaration-mismatch] #ifdef __WINE_STRING_H #pragma message "before include string.h: __WINE_STRING_H is defined" #else #pragma message "before include string.h: __WINE_STRING_H is not defined" #endif #include <string.h> #include <mbstring.h> #ifdef __WINE_STRING_H #pragma message "after include string.h: __WINE_STRING_H is defined" #else #pragma message "after include string.h: __WINE_STRING_H is not defined" #endif //typedef locale_t _locale_t; /* // this is in string.h of wine extern "C" int __cdecl _stricmp (const char*, const char*); extern "C" int __cdecl _wcsicmp (const wchar_t*, const wchar_t*); // this is in mbstring.h of wine extern "C" int (__cdecl _mbsicmp)(const unsigned char*, const unsigned char*); */ // this should be in string.h of wine extern "C" int __cdecl _stricmp_l (const char*, const char*, _locale_t); extern "C" int __cdecl _wcsicmp_l (const wchar_t*, const wchar_t*, _locale_t); // this should be in mbstring.h of wine extern "C" int __cdecl _mbsicmp_l(const unsigned char*, const unsigned char*, _locale_t); int main() { // https://en.cppreference.com/w/cpp/language/string_literal char str[] = "abc"; // usually, wchar stores utf16 strings wchar_t w_str[] = L"abc"; // https://en.cppreference.com/w/cpp/language/aggregate_initialization#Characte... unsigned char u8_str[] = "abc"; _locale_t* some_locale = NULL; if (_stricmp(str, str) == 0) return 1; if (_wcsicmp(w_str, w_str) == 0) return 1; if (_mbsicmp(u8_str, u8_str) == 0) return 1; if (_stricmp_l(str, str, *some_locale) == 0) return 1; if (_wcsicmp_l(w_str, w_str, *some_locale) == 0) return 1; if (_mbsicmp_l(u8_str, u8_str, *some_locale) == 0) return 1; return 0; } -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.