diff options
Diffstat (limited to 'private/ole32/stg/wclib/wcscmp.c')
-rw-r--r-- | private/ole32/stg/wclib/wcscmp.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/private/ole32/stg/wclib/wcscmp.c b/private/ole32/stg/wclib/wcscmp.c new file mode 100644 index 000000000..f4c796912 --- /dev/null +++ b/private/ole32/stg/wclib/wcscmp.c @@ -0,0 +1,54 @@ +/*** +*wcscmp.c - routine to compare 2 wide character strings (equal/less/greater) +* +* Copyright (c) 1985-1988, Microsoft Corporation. All Rights Reserved. +* +*Purpose: +* Compares two wide character strings, determining their lexical order. +* +*Revision History: +* 04-07-91 IanJa C version created. +* +*******************************************************************************/ + +#include <stdlib.h> + +/*** +*wcscmp - compare two wide character strings, returning less than, equal to, +* or greater than +* +*Purpose: +* WCSCMP compares two wide character strings and returns an integer +* to indicate whether the first is less than the second, the two are +* equal, or whether the first is greater than the second. +* +* Comparison is done byte by byte on an UNSIGNED basis, which is to +* say that Null (0) is less than any other character (1-0xffff). +* +*Entry: +* const wchar_t * src - string for left-hand side of comparison +* const wchar_t * dst - string for right-hand side of comparison +* +*Exit: +* returns -1 if src < dst +* returns 0 if src == dst +* returns +1 if src > dst +* +*Exceptions: +* +*******************************************************************************/ + +int _CRTAPI1 wcscmp(const wchar_t * src, const wchar_t * dst) +{ + int ret = 0 ; + + while( ! (ret = *src - *dst) && *dst) + ++src, ++dst; + + if ( ret < 0 ) + ret = -1 ; + else if ( ret > 0 ) + ret = 1 ; + + return ret; +} |