aboutsummaryrefslogtreecommitdiffstats
path: root/src/wchar/wcscmp.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2015-11-17 06:57:59 +0100
committerMattias Andrée <maandree@operamail.com>2015-11-17 06:57:59 +0100
commit0a9ed0f9b84247b0dda23500b7ab301a1238736b (patch)
treec990f32ee3de20fe5756a8f5c111d47e43cf7606 /src/wchar/wcscmp.c
parentadd wcsset (diff)
downloadslibc-0a9ed0f9b84247b0dda23500b7ab301a1238736b.tar.gz
slibc-0a9ed0f9b84247b0dda23500b7ab301a1238736b.tar.bz2
slibc-0a9ed0f9b84247b0dda23500b7ab301a1238736b.tar.xz
m + split wchar/*.c
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--src/wchar/wcscmp.c115
1 files changed, 0 insertions, 115 deletions
diff --git a/src/wchar/wcscmp.c b/src/wchar/wcscmp.c
index 980906d..90ad251 100644
--- a/src/wchar/wcscmp.c
+++ b/src/wchar/wcscmp.c
@@ -16,56 +16,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <wchar.h>
-#include <stdint.h>
-/* TODO #include <wctype.h> */
/**
- * Compare two memory segments alphabetically in a case sensitive manner.
- *
- * @param a A negative value is returned if this is the lesser.
- * @param b A positive value is returned if this is the lesser.
- * @param size The size of the segments.
- * @return Zero is returned if `a` and `b` are equal, otherwise,
- * see the specifications for `a` and `b`.
- */
-int wmemcmp(const wchar_t* a, const wchar_t* b, size_t size)
-{
- while (size--)
- if (*a == *b)
- a++, b++;
- else
- return *a < *b ? -1 : +1;
- return 0;
-}
-
-
-/**
- * Compare two memory segments alphabetically in a case insensitive manner.
- *
- * @param a A negative value is returned if this is the lesser.
- * @param b A positive value is returned if this is the lesser.
- * @param size The size of the segments.
- * @return Zero is returned if `a` and `b` are equal, otherwise,
- * see the specifications for `a` and `b`.
- */
-int wmemcasecmp(const wchar_t* a, const wchar_t* b, size_t size)
-{
- wchar_t c1, c2;
- for (; size--; a++, b++)
- if (*a != *b)
- {
- c1 = iswalpha(*a) ? towlower(*a) : *a;
- c2 = iswalpha(*b) ? towlower(*b) : *b;
- if (c1 != c2)
- return c1 < c2 ? -1 : +1;
- }
- return 0;
-}
-
-
-/**
* Compare two strings alphabetically in a case sensitive manner.
*
* @param a A negative value is returned if this is the lesser.
@@ -80,72 +34,3 @@ int wcscmp(const wchar_t* a, const wchar_t* b)
return wmemcmp(a, b, (n < m ? n : m) + 1);
}
-
-/**
- * Compare two strings alphabetically in a case insensitive manner.
- * Be aware, only ASCII characters are case insensitive, non-ASCII
- * characters are case sensitive.
- *
- * This is a GNU-compliant slibc extension.
- *
- * @param a A negative value is returned if this is the lesser.
- * @param b A positive value is returned if this is the lesser.
- * @return Zero is returned if `a` and `b` are equal, otherwise,
- * see the specifications for `a` and `b`.
- */
-int wcscasecmp(const wchar_t* a, const wchar_t* b)
-{
- return wcsncasecmp(a, b, SIZE_MAX);
-}
-
-
-/**
- * Compare two strings alphabetically in a case sensitive manner.
- *
- * This is a GNU-compliant slibc extension.
- *
- * @param a A negative value is returned if this is the lesser.
- * @param b A positive value is returned if this is the lesser.
- * @param length The maximum number of characters to compare.
- * @return Zero is returned if `a` and `b` are equal, otherwise,
- * see the specifications for `a` and `b`.
- */
-int wcsncmp(const wchar_t* a, const wchar_t* b, size_t length)
-{
- size_t n = wcsnlen(a, length);
- size_t m = wcsnlen(b, length);
- int r = wmemcmp(a, b, (n < m ? n : m));
- return r ? r : n == m ? 0 : n < m ? -1 : +1;
-}
-
-
-/**
- * Compare two strings alphabetically in a case insensitive manner.
- * Be aware, only ASCII characters are case insensitive, non-ASCII
- * characters are case sensitive.
- *
- * This is a GNU-compliant slibc extension.
- *
- * @param a A negative value is returned if this is the lesser.
- * @param b A positive value is returned if this is the lesser.
- * @param length The maximum number of characters to compare.
- * @return Zero is returned if `a` and `b` are equal, otherwise,
- * see the specifications for `a` and `b`.
- */
-int wcsncasecmp(const wchar_t* a, const wchar_t* b, size_t length)
-{
- wchar_t c1, c2;
- for (; length--; a++, b++)
- if (*a != *b)
- {
- c1 = iswalpha(*a) ? towlower(*a) : *a;
- c2 = iswalpha(*b) ? towlower(*b) : *b;
- if (c1 < c2) return -1;
- if (c1 > c2) return +1;
- }
- else if (!*a && !*b) return 0;
- else if (!*a) return -1;
- else if (!*b) return +1;
- return 0;
-}
-