]> git.ipfire.org Git - thirdparty/glibc.git/blame - wcsmbs/wcscmp.c
Add x86-32 optimized wcscmp
[thirdparty/glibc.git] / wcsmbs / wcscmp.c
CommitLineData
33a934a3
UD
1/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
4
5 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
33a934a3
UD
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 13 Lesser General Public License for more details.
33a934a3 14
41bdb6e2
AJ
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA. */
a482b5a5 19
299a95b9 20#include <wchar.h>
a482b5a5 21
1b48c537
UD
22#ifndef WCSCMP
23# define WCSCMP wcscmp
24#endif
a482b5a5
RM
25
26/* Compare S1 and S2, returning less than, equal to or
299a95b9 27 greater than zero if S1 is lexicographically less than,
a482b5a5
RM
28 equal to or greater than S2. */
29int
1b48c537 30WCSCMP (s1, s2)
299a95b9
RM
31 const wchar_t *s1;
32 const wchar_t *s2;
a482b5a5 33{
59dd8641 34 wint_t c1, c2;
a482b5a5
RM
35
36 do
37 {
59dd8641
RM
38 c1 = (wint_t) *s1++;
39 c2 = (wint_t) *s2++;
a482b5a5
RM
40 if (c1 == L'\0')
41 return c1 - c2;
42 }
43 while (c1 == c2);
44
45 return c1 - c2;
46}
1b48c537 47libc_hidden_def (WCSCMP)