* malloc/memusagestat.c (main): Use return instead of exit to
[platform/upstream/glibc.git] / wctype / wcfuncs.c
1 /* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Library General Public License as
6    published by the Free Software Foundation; either version 2 of the
7    License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Library General Public License for more details.
13
14    You should have received a copy of the GNU Library General Public
15    License along with the GNU C Library; see the file COPYING.LIB.  If not,
16    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17    Boston, MA 02111-1307, USA.  */
18
19 #include <wctype.h>
20 #include <locale/localeinfo.h>
21
22 #include "wchar-lookup.h"
23
24 /* These are not exported.  */
25 extern const char *__ctype32_wctype[12];
26 extern const char *__ctype32_wctrans[2];
27
28 /* Provide real-function versions of all the wctype macros.  */
29
30 #define func(name, type) \
31   int                                                                         \
32   __##name (wint_t wc)                                                        \
33   {                                                                           \
34     return wctype_table_lookup (__ctype32_wctype[type], wc);                  \
35   }                                                                           \
36   weak_alias (__##name, name)
37
38 #undef iswalnum
39 func (iswalnum, __ISwalnum)
40 #undef iswalpha
41 func (iswalpha, __ISwalpha)
42 #undef iswblank
43 func (iswblank, __ISwblank)
44 #undef iswcntrl
45 func (iswcntrl, __ISwcntrl)
46 #undef iswdigit
47 func (iswdigit, __ISwdigit)
48 #undef iswlower
49 func (iswlower, __ISwlower)
50 #undef iswgraph
51 func (iswgraph, __ISwgraph)
52 #undef iswprint
53 func (iswprint, __ISwprint)
54 #undef iswpunct
55 func (iswpunct, __ISwpunct)
56 #undef iswspace
57 func (iswspace, __ISwspace)
58 #undef iswupper
59 func (iswupper, __ISwupper)
60 #undef iswxdigit
61 func (iswxdigit, __ISwxdigit)
62
63 wint_t
64 (towlower) (wc)
65      wint_t wc;
66 {
67   return wctrans_table_lookup (__ctype32_wctrans[__TOW_tolower], wc);
68 }
69
70 wint_t
71 (towupper) (wc)
72      wint_t wc;
73 {
74   return wctrans_table_lookup (__ctype32_wctrans[__TOW_toupper], wc);
75 }