Files
reactos/sdk/lib/crt/string/tcsncmp.h
T
Katayama Hirofumi MZ 300e1d525d [MSVCRT][CRT][UCRT] Disable intrinsic string functions on MSVC (#9157)
VS2022 version 17.2 and later (`_MSC_VER >= 1932`) added new intrinsic
functions (`strncmp`, `strncpy`, `wcsncmp`, and `wcsncpy`).
As we implement these ourselves, we have to avoid compiler error C2169.

This problem surfaced with a recent GitHub Actions update:
https://github.com/actions/runner-images/issues/14017

Use `#pragma function(...)` to disable new intrinsic functions.
2026-06-13 18:10:15 +03:00

24 lines
394 B
C

#include <stddef.h>
#include <tchar.h>
#if defined(_MSC_VER) && (defined(_M_ARM) || _MSC_VER >= 1932) // VS2022 version 17.2 and later
#pragma function(_tcsncmp)
#endif /* _MSC_VER */
int _tcsncmp(const _TCHAR * s1, const _TCHAR * s2, size_t n)
{
if(n == 0) return 0;
do
{
if(*s1 != *s2 ++) return *s1 - *-- s2;
if(*s1 ++ == 0) break;
}
while (-- n != 0);
return 0;
}
/* EOF */