]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/powerpc/power6/wcschr.c
Update copyright notices with scripts/update-copyrights
[thirdparty/glibc.git] / sysdeps / powerpc / power6 / wcschr.c
CommitLineData
05b5cd1c 1/* wcschr.c - Wide Character Search for POWER6+.
d4697bc9 2 Copyright (C) 2012-2014 Free Software Foundation, Inc.
15d0da8c
WS
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
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.
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
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; see the file COPYING.LIB. If
17 not, see <http://www.gnu.org/licenses/>. */
18
19#include <wchar.h>
20
05b5cd1c
AZ
21#ifndef WCSCHR
22# define WCSCHR wcschr
23#endif
15d0da8c
WS
24
25/* Find the first occurrence of WC in WCS. */
26wchar_t *
05b5cd1c 27WCSCHR (const wchar_t *wcs, const wchar_t wc)
15d0da8c 28{
2e09a79a 29 const wchar_t *wcs2 = wcs + 1;
15d0da8c
WS
30
31 if (*wcs == wc)
32 return (wchar_t *) wcs;
33 if (*wcs == L'\0')
34 return NULL;
35
36 do
37 {
38 wcs += 2;
39
40 if (*wcs2 == wc)
41 return (wchar_t *) wcs2;
42 if (*wcs2 == L'\0')
43 return NULL;
44 wcs2 += 2;
45
46 if (*wcs == wc)
47 return (wchar_t *) wcs;
48 if (*wcs == L'\0')
49 return NULL;
50 wcs += 2;
51
52 if (*wcs2 == wc)
53 return (wchar_t *) wcs2;
54 if (*wcs2 == L'\0')
55 return NULL;
56 wcs2 += 2;
57
58 if (*wcs == wc)
59 return (wchar_t *) wcs;
60 if (*wcs == L'\0')
61 return NULL;
62 wcs += 2;
63
64 if (*wcs2 == wc)
65 return (wchar_t *) wcs2;
66 if (*wcs2 == L'\0')
67 return NULL;
68 wcs2 += 2;
69
70 if (*wcs == wc)
71 return (wchar_t *) wcs;
72 if (*wcs == L'\0')
73 return NULL;
74 wcs += 2;
75
76 if (*wcs2 == wc)
77 return (wchar_t *) wcs2;
78 if (*wcs2 == L'\0')
79 return NULL;
80 wcs2 += 2;
81
82 if (*wcs == wc)
83 return (wchar_t *) wcs;
84 }
85 while (*wcs != L'\0');
86
87 return NULL;
88}
89libc_hidden_def (wcschr)