readme-release: new module with release instructions
[gnulib.git] / lib / iconv_close.c
1 /* Character set conversion.
2    Copyright (C) 2007, 2009-2011 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 2, 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, write to the Free Software Foundation,
16    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
17
18 #include <config.h>
19
20 /* Specification.  */
21 #include <iconv.h>
22
23 #include <stdint.h>
24 #ifndef uintptr_t
25 # define uintptr_t unsigned long
26 #endif
27
28 int
29 rpl_iconv_close (iconv_t cd)
30 #undef iconv_close
31 {
32 #if REPLACE_ICONV_UTF
33   switch ((uintptr_t) cd)
34     {
35     case (uintptr_t) _ICONV_UTF8_UTF16BE:
36     case (uintptr_t) _ICONV_UTF8_UTF16LE:
37     case (uintptr_t) _ICONV_UTF8_UTF32BE:
38     case (uintptr_t) _ICONV_UTF8_UTF32LE:
39     case (uintptr_t) _ICONV_UTF16BE_UTF8:
40     case (uintptr_t) _ICONV_UTF16LE_UTF8:
41     case (uintptr_t) _ICONV_UTF32BE_UTF8:
42     case (uintptr_t) _ICONV_UTF32LE_UTF8:
43       return 0;
44     }
45 #endif
46   return iconv_close (cd);
47 }