#include <string.h>
#pragma warning(disable:__WARNING_POSTCONDITION_NULLTERMINATION_VIOLATION)
#if defined(_MSC_VER) && (defined(_M_ARM) || _MSC_VER >= 1950)
#pragma function(wcsncpy)
#endif
extern "C" wchar_t * __cdecl wcsncpy(
wchar_t* const destination,
wchar_t const* const source,
size_t const count
)
{
size_t remaining = count;
wchar_t* destination_it = destination;
wchar_t const* source_it = source;
while (remaining != 0 && (*destination_it++ = *source_it++) != 0)
{
--remaining;
}
if (remaining != 0)
{
while (--remaining != 0)
{
*destination_it++ = L'\0';
}
}
return destination;
}