+2024-02-14 Bruno Haible <bruno@clisp.org>
+
+ Improve support of Citrus/FreeBSD iconv.
+ * lib/striconveh.c (iconveh_open): Use //TRANSLIT with all iconv
+ implementations that support it.
+ * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
+ * lib/propername.c (proper_name_utf8): Likewise.
+
2024-02-14 Bruno Haible <bruno@clisp.org>
isnan: Fix compilation error in C++ mode on macOS 14.4 / Xcode 15.2.
# if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
&& !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
+ || _LIBICONV_VERSION >= 0x0105 \
+ || defined ICONV_SET_TRANSLITERATE
{
char *converted_translit;
if (STRCASEEQ (to_codeset, "UTF-8", 'U','T','F','-','8',0,0,0,0)
# if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
&& !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
+ || _LIBICONV_VERSION >= 0x0105 \
+ || defined ICONV_SET_TRANSLITERATE
|| c_strcasecmp (to_codeset, "UTF-8//TRANSLIT") == 0
# endif
)
return 0;
}
- /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
- we want to use transliteration. */
+ /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5 or Citrus/FreeBSD/macOS
+ iconv, we want to use transliteration. */
#if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
&& !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
+ || _LIBICONV_VERSION >= 0x0105 \
+ || defined ICONV_SET_TRANSLITERATE
if (transliterate)
{
int retval;
return result;
}
- /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
- we want to use transliteration. */
+ /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5 or Citrus/FreeBSD/macOS
+ iconv, we want to use transliteration. */
#if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
&& !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
+ || _LIBICONV_VERSION >= 0x0105 \
+ || defined ICONV_SET_TRANSLITERATE
if (transliterate)
{
char *result;