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)28rpl_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