1 /* Character set conversion.
2    Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc.
3 
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 3, or (at your option)
7    any later version.
8 
9    This program 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
12    GNU General Public License for more details.
13 
14    You should have received a copy of the GNU General Public License along
15    with this program; if not, see <https://www.gnu.org/licenses/>.  */
16 
17 #include <config.h>
18 
19 /* Specification.  */
20 #include <iconv.h>
21 
22 #include <stdint.h>
23 #ifndef uintptr_t
24 # define uintptr_t unsigned long
25 #endif
26 
27 int
rpl_iconv_close(iconv_t cd)28 rpl_iconv_close (iconv_t cd)
29 #undef iconv_close
30 {
31 #if REPLACE_ICONV_UTF
32   switch ((uintptr_t) cd)
33     {
34     case (uintptr_t) _ICONV_UTF8_UTF16BE:
35     case (uintptr_t) _ICONV_UTF8_UTF16LE:
36     case (uintptr_t) _ICONV_UTF8_UTF32BE:
37     case (uintptr_t) _ICONV_UTF8_UTF32LE:
38     case (uintptr_t) _ICONV_UTF16BE_UTF8:
39     case (uintptr_t) _ICONV_UTF16LE_UTF8:
40     case (uintptr_t) _ICONV_UTF32BE_UTF8:
41     case (uintptr_t) _ICONV_UTF32LE_UTF8:
42       return 0;
43     }
44 #endif
45   return iconv_close (cd);
46 }
47