Update copyright notices with scripts/update-copyrights
[glibc.git] / sysdeps / powerpc / power6 / wcschr.c
blob7045677b5105e932003c105432e7a04c11ab1321
1 /* wcschr.c - Wide Character Search for POWER6+.
2 Copyright (C) 2012-2014 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
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.
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.
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/>. */
19 #include <wchar.h>
21 #ifndef WCSCHR
22 # define WCSCHR wcschr
23 #endif
25 /* Find the first occurrence of WC in WCS. */
26 wchar_t *
27 WCSCHR (const wchar_t *wcs, const wchar_t wc)
29 const wchar_t *wcs2 = wcs + 1;
31 if (*wcs == wc)
32 return (wchar_t *) wcs;
33 if (*wcs == L'\0')
34 return NULL;
38 wcs += 2;
40 if (*wcs2 == wc)
41 return (wchar_t *) wcs2;
42 if (*wcs2 == L'\0')
43 return NULL;
44 wcs2 += 2;
46 if (*wcs == wc)
47 return (wchar_t *) wcs;
48 if (*wcs == L'\0')
49 return NULL;
50 wcs += 2;
52 if (*wcs2 == wc)
53 return (wchar_t *) wcs2;
54 if (*wcs2 == L'\0')
55 return NULL;
56 wcs2 += 2;
58 if (*wcs == wc)
59 return (wchar_t *) wcs;
60 if (*wcs == L'\0')
61 return NULL;
62 wcs += 2;
64 if (*wcs2 == wc)
65 return (wchar_t *) wcs2;
66 if (*wcs2 == L'\0')
67 return NULL;
68 wcs2 += 2;
70 if (*wcs == wc)
71 return (wchar_t *) wcs;
72 if (*wcs == L'\0')
73 return NULL;
74 wcs += 2;
76 if (*wcs2 == wc)
77 return (wchar_t *) wcs2;
78 if (*wcs2 == L'\0')
79 return NULL;
80 wcs2 += 2;
82 if (*wcs == wc)
83 return (wchar_t *) wcs;
85 while (*wcs != L'\0');
87 return NULL;
89 libc_hidden_def (wcschr)