diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-11-21 23:37:30 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-11-21 23:37:30 +0100 |
commit | a53aa1f9a32e47b465d5b6ef3e3f5ed6b918a1c5 (patch) | |
tree | 2f9f24ac951e6f939b5403af3eae079d6792a0c1 /gl/iconv_close.c | |
parent | 06fdce3411941982c5665d4152bac396bf648d5f (diff) | |
download | gnutls-a53aa1f9a32e47b465d5b6ef3e3f5ed6b918a1c5.tar.gz |
iconv() will include the UCS2->UTF8 convertion in systems that is not provided.
Diffstat (limited to 'gl/iconv_close.c')
-rw-r--r-- | gl/iconv_close.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gl/iconv_close.c b/gl/iconv_close.c new file mode 100644 index 0000000000..c02f76c649 --- /dev/null +++ b/gl/iconv_close.c @@ -0,0 +1,46 @@ +/* Character set conversion. + Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see <http://www.gnu.org/licenses/>. */ + +#include <config.h> + +/* Specification. */ +#include <iconv.h> + +#include <stdint.h> +#ifndef uintptr_t +# define uintptr_t unsigned long +#endif + +int +rpl_iconv_close (iconv_t cd) +#undef iconv_close +{ +#if REPLACE_ICONV_UTF + switch ((uintptr_t) cd) + { + case (uintptr_t) _ICONV_UTF8_UTF16BE: + case (uintptr_t) _ICONV_UTF8_UTF16LE: + case (uintptr_t) _ICONV_UTF8_UTF32BE: + case (uintptr_t) _ICONV_UTF8_UTF32LE: + case (uintptr_t) _ICONV_UTF16BE_UTF8: + case (uintptr_t) _ICONV_UTF16LE_UTF8: + case (uintptr_t) _ICONV_UTF32BE_UTF8: + case (uintptr_t) _ICONV_UTF32LE_UTF8: + return 0; + } +#endif + return iconv_close (cd); +} |