|
|
|
@ -1,4 +1,4 @@ |
|
|
|
# iconv.m4 serial 18 (gettext-0.18.2) |
|
|
|
# iconv.m4 serial 19 (gettext-0.18.2) |
|
|
|
dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc. |
|
|
|
dnl This file is free software; the Free Software Foundation |
|
|
|
dnl gives unlimited permission to copy and/or distribute it, |
|
|
|
@ -72,27 +72,33 @@ AC_DEFUN([AM_ICONV_LINK], |
|
|
|
if test $am_cv_lib_iconv = yes; then |
|
|
|
LIBS="$LIBS $LIBICONV" |
|
|
|
fi |
|
|
|
AC_RUN_IFELSE( |
|
|
|
[AC_LANG_SOURCE([[ |
|
|
|
am_cv_func_iconv_works=no |
|
|
|
for ac_iconv_const in '' 'const'; do |
|
|
|
AC_RUN_IFELSE( |
|
|
|
[AC_LANG_PROGRAM( |
|
|
|
[[ |
|
|
|
#include <iconv.h> |
|
|
|
#include <string.h> |
|
|
|
int main () |
|
|
|
{ |
|
|
|
int result = 0; |
|
|
|
|
|
|
|
#ifndef ICONV_CONST |
|
|
|
# define ICONV_CONST $ac_iconv_const |
|
|
|
#endif |
|
|
|
]], |
|
|
|
[[int result = 0; |
|
|
|
/* Test against AIX 5.1 bug: Failures are not distinguishable from successful |
|
|
|
returns. */ |
|
|
|
{ |
|
|
|
iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); |
|
|
|
if (cd_utf8_to_88591 != (iconv_t)(-1)) |
|
|
|
{ |
|
|
|
static const char input[] = "\342\202\254"; /* EURO SIGN */ |
|
|
|
static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ |
|
|
|
char buf[10]; |
|
|
|
const char *inptr = input; |
|
|
|
ICONV_CONST char *inptr = input; |
|
|
|
size_t inbytesleft = strlen (input); |
|
|
|
char *outptr = buf; |
|
|
|
size_t outbytesleft = sizeof (buf); |
|
|
|
size_t res = iconv (cd_utf8_to_88591, |
|
|
|
(char **) &inptr, &inbytesleft, |
|
|
|
&inptr, &inbytesleft, |
|
|
|
&outptr, &outbytesleft); |
|
|
|
if (res == 0) |
|
|
|
result |= 1; |
|
|
|
@ -105,14 +111,14 @@ int main () |
|
|
|
iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); |
|
|
|
if (cd_ascii_to_88591 != (iconv_t)(-1)) |
|
|
|
{ |
|
|
|
static const char input[] = "\263"; |
|
|
|
static ICONV_CONST char input[] = "\263"; |
|
|
|
char buf[10]; |
|
|
|
const char *inptr = input; |
|
|
|
ICONV_CONST char *inptr = input; |
|
|
|
size_t inbytesleft = strlen (input); |
|
|
|
char *outptr = buf; |
|
|
|
size_t outbytesleft = sizeof (buf); |
|
|
|
size_t res = iconv (cd_ascii_to_88591, |
|
|
|
(char **) &inptr, &inbytesleft, |
|
|
|
&inptr, &inbytesleft, |
|
|
|
&outptr, &outbytesleft); |
|
|
|
if (res == 0) |
|
|
|
result |= 2; |
|
|
|
@ -124,14 +130,14 @@ int main () |
|
|
|
iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); |
|
|
|
if (cd_88591_to_utf8 != (iconv_t)(-1)) |
|
|
|
{ |
|
|
|
static const char input[] = "\304"; |
|
|
|
static ICONV_CONST char input[] = "\304"; |
|
|
|
static char buf[2] = { (char)0xDE, (char)0xAD }; |
|
|
|
const char *inptr = input; |
|
|
|
ICONV_CONST char *inptr = input; |
|
|
|
size_t inbytesleft = 1; |
|
|
|
char *outptr = buf; |
|
|
|
size_t outbytesleft = 1; |
|
|
|
size_t res = iconv (cd_88591_to_utf8, |
|
|
|
(char **) &inptr, &inbytesleft, |
|
|
|
&inptr, &inbytesleft, |
|
|
|
&outptr, &outbytesleft); |
|
|
|
if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) |
|
|
|
result |= 4; |
|
|
|
@ -144,14 +150,14 @@ int main () |
|
|
|
iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); |
|
|
|
if (cd_88591_to_utf8 != (iconv_t)(-1)) |
|
|
|
{ |
|
|
|
static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; |
|
|
|
static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; |
|
|
|
char buf[50]; |
|
|
|
const char *inptr = input; |
|
|
|
ICONV_CONST char *inptr = input; |
|
|
|
size_t inbytesleft = strlen (input); |
|
|
|
char *outptr = buf; |
|
|
|
size_t outbytesleft = sizeof (buf); |
|
|
|
size_t res = iconv (cd_88591_to_utf8, |
|
|
|
(char **) &inptr, &inbytesleft, |
|
|
|
&inptr, &inbytesleft, |
|
|
|
&outptr, &outbytesleft); |
|
|
|
if ((int)res > 0) |
|
|
|
result |= 8; |
|
|
|
@ -171,17 +177,14 @@ int main () |
|
|
|
&& iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) |
|
|
|
result |= 16; |
|
|
|
return result; |
|
|
|
}]])], |
|
|
|
[am_cv_func_iconv_works=yes], |
|
|
|
[am_cv_func_iconv_works=no], |
|
|
|
[ |
|
|
|
changequote(,)dnl |
|
|
|
case "$host_os" in |
|
|
|
aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; |
|
|
|
*) am_cv_func_iconv_works="guessing yes" ;; |
|
|
|
esac |
|
|
|
changequote([,])dnl |
|
|
|
]) |
|
|
|
]])], |
|
|
|
[am_cv_func_iconv_works=yes], , |
|
|
|
[case "$host_os" in |
|
|
|
aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; |
|
|
|
*) am_cv_func_iconv_works="guessing yes" ;; |
|
|
|
esac]) |
|
|
|
test "$am_cv_func_iconv_works" = no || break |
|
|
|
done |
|
|
|
LIBS="$am_save_LIBS" |
|
|
|
]) |
|
|
|
case "$am_cv_func_iconv_works" in |
|
|
|
|