]> pd.if.org Git - pdclib/blobdiff - functions/wchar/wcscoll.c
Moved notime and mincoll from opt/ to functions/.
[pdclib] / functions / wchar / wcscoll.c
diff --git a/functions/wchar/wcscoll.c b/functions/wchar/wcscoll.c
new file mode 100644 (file)
index 0000000..9c7c2a6
--- /dev/null
@@ -0,0 +1,36 @@
+/* wcscoll( const wchar_t *, const wchar_t * )
+
+   This file is part of the Public Domain C Library (PDCLib).
+   Permission is granted to use, modify, and / or redistribute at will.
+*/
+
+#include <wchar.h>
+
+#ifndef REGTEST
+
+/* I did much searching as to how various people implement this.
+ *
+ * OpenBSD, NetBSD and Musl libc for Linux implement this as a call to wcscmp
+ * and have various "todo" notices on this function, and on the other hand
+ * glibc implements it as a 500 line function. FreeBSD has an implementation 
+ * which kind of uses their single byte character strcoll data for the first
+ * 256 characters, but looks incredibly fragile and likely to break.
+ *
+ * TL;DR: Nobody uses this, and this will probably work perfectly fine for you.
+ */
+
+int wcscoll( const wchar_t * s1, const wchar_t * s2 )
+{
+    return wcscmp(s1, s2);
+}
+
+#endif
+
+#ifdef TEST
+#include "_PDCLIB_test.h"
+
+int main( void )
+{
+    return TEST_RESULTS;
+}
+#endif