Something went wrong. Try again.
Reactos
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041//// wcscmp.cpp//// Copyright (c) Microsoft Corporation. All rights reserved.//// Defines wcscmp(), which compares two wide character strings, determining// their ordinal order.//// Note that the comparison is performed with unsigned elements (wchar_t is// unsigned in this implementation), so the null character (0) is less than// all other characters.//// Returns:// * -1 if a < b// * 0 if a == b// * 1 if a > b//#include <string.h>
#if defined _M_X64 || defined _M_IX86 || defined _M_ARM || defined _M_ARM64 #pragma warning(disable: 4163) #pragma function(wcscmp)#endif
extern "C" int __cdecl wcscmp(wchar_t const* a, wchar_t const* b){ int result = 0;#pragma warning(suppress:__WARNING_POTENTIAL_BUFFER_OVERFLOW_NULLTERMINATED) // 26018 while ((result = (int)(*a - *b)) == 0 && *b) { ++a; ++b; }
return ((-result) < 0) - (result < 0); // (if positive) - (if negative) generates branchless code}