summaryrefslogtreecommitdiffstats
path: root/private/crt32/string/wcscmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'private/crt32/string/wcscmp.c')
-rw-r--r--private/crt32/string/wcscmp.c59
1 files changed, 59 insertions, 0 deletions
diff --git a/private/crt32/string/wcscmp.c b/private/crt32/string/wcscmp.c
new file mode 100644
index 000000000..7b9d3b26c
--- /dev/null
+++ b/private/crt32/string/wcscmp.c
@@ -0,0 +1,59 @@
+/***
+*wcscmp.c - routine to compare two wchar_t strings (for equal, less, or greater)
+*
+* Copyright (c) 1985-1992, Microsoft Corporation. All rights reserved.
+*
+*Purpose:
+* Compares two wide-character strings, determining their lexical order.
+*
+*Revision History:
+* 09-09-91 ETC Created from strcmp.c.
+* 04-07-92 KRS Updated and ripped out _INTL switches.
+*
+*******************************************************************************/
+
+#include <cruntime.h>
+#include <string.h>
+
+/***
+*wcscmp - compare two wchar_t 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 wchar_t by wchar_t on an UNSIGNED basis, which is to
+* say that Null wchar_t(0) is less than any other character.
+*
+*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 _CALLTYPE1 wcscmp (
+ const wchar_t * src,
+ const wchar_t * dst
+ )
+{
+ int ret = 0 ;
+
+ while( ! (ret = (int)(*src - *dst)) && *dst)
+ ++src, ++dst;
+
+ if ( ret < 0 )
+ ret = -1 ;
+ else if ( ret > 0 )
+ ret = 1 ;
+
+ return( ret );
+}