Reactos
at master 44 lines 884 B view raw
1// 2// wcsncmp.cpp 3// 4// Copyright (c) Microsoft Corporation. All rights reserved. 5// 6// Defines wcsncmp(), which compares two wide character strings, determining 7// their ordinal order. The function tests at most 'count' characters. 8// 9// Note that the comparison is performed with unsigned elements (wchar_t is 10// unsigned in this implementation), so the null character (0) is less than 11// all other characters. 12// 13// Returns: 14// * a negative value if a < b 15// * zero if a == b 16// * a positive value if a > b 17// 18#include <string.h> 19 20 21 22#ifdef _M_ARM 23 #pragma function(wcsncmp) 24#endif 25 26 27 28extern "C" int __cdecl wcsncmp( 29 wchar_t const* a, 30 wchar_t const* b, 31 size_t count 32 ) 33{ 34 if (count == 0) 35 return 0; 36 37 while (--count != 0 && *a && *a == *b) 38 { 39 ++a; 40 ++b; 41 } 42 43 return static_cast<int>(*a - *b); 44}