Update copyright notices with scripts/update-copyrights.
[glibc.git] / sysdeps / powerpc / powerpc32 / power6 / wcsrchr.c
blobd0ff9f69cfad4c0ce35c899ca28d912f5e1be966
1 /* wcsrchr.c - Wide Character Reverse Search for powerpc32/power6.
2 Copyright (C) 2012-2013 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>
22 /* Find the last occurrence of WC in WCS. */
23 wchar_t *
24 wcsrchr (wcs, wc)
25 register const wchar_t *wcs;
26 register const wchar_t wc;
28 register const wchar_t *wcs2 = wcs + 1;
29 const wchar_t *retval = NULL;
31 if (*wcs == wc)
32 retval = wcs;
34 if (*wcs == L'\0') return (wchar_t *) retval;
38 wcs+=2;
40 if (*wcs2 == wc)
41 retval = wcs2;
42 if (*wcs2 == L'\0')
43 return (wchar_t *) retval;
44 wcs2+=2;
46 if (*wcs == wc)
47 retval = wcs;
48 if (*wcs == L'\0')
49 return (wchar_t *) retval;
50 wcs+=2;
52 if (*wcs2 == wc)
53 retval = wcs2;
54 if (*wcs2 == L'\0')
55 return (wchar_t *) retval;
56 wcs2+=2;
58 if (*wcs == wc)
59 retval = wcs;
60 if (*wcs == L'\0')
61 return (wchar_t *) retval;
62 wcs+=2;
64 if (*wcs2 == wc)
65 retval = wcs2;
66 if (*wcs2 == L'\0')
67 return (wchar_t *) retval;
68 wcs2+=2;
70 if (*wcs == wc)
71 retval = wcs;
72 if (*wcs == L'\0')
73 return (wchar_t *) retval;
74 wcs+=2;
76 if (*wcs2 == wc)
77 retval = wcs2;
78 if (*wcs2 == L'\0')
79 return (wchar_t *) retval;
80 wcs2+=2;
82 if (*wcs == wc)
83 retval = wcs;
85 while (*wcs != L'\0');
87 return (wchar_t *) retval;