Treat model numbers 0x4a/0x4d as Silvermont
[platform/upstream/glibc.git] / wctype / wctrans.c
1 /* Copyright (C) 1996-2015 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
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; if not, see
17    <http://www.gnu.org/licenses/>.  */
18
19 #include <inttypes.h>
20 #include <string.h>
21 #include <wctype.h>
22 #include "../locale/localeinfo.h"
23
24 wctrans_t
25 __wctrans (const char *property)
26 {
27   const char *names;
28   size_t cnt;
29   size_t i;
30
31   names = _NL_CURRENT (LC_CTYPE, _NL_CTYPE_MAP_NAMES);
32   cnt = 0;
33   while (names[0] != '\0')
34     {
35       if (strcmp (property, names) == 0)
36         break;
37
38       names = strchr (names, '\0') + 1;
39       ++cnt;
40     }
41
42   if (names[0] == '\0')
43     return 0;
44
45   i = _NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MAP_OFFSET) + cnt;
46   return (wctrans_t) _NL_CURRENT_DATA (LC_CTYPE)->values[i].string;
47 }
48 weak_alias (__wctrans, wctrans)