diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-06-17 15:32:34 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-06-17 15:32:34 +0000 |
commit | 4ab66ad1b7cef35c5d3342df55adaa4ee8893080 (patch) | |
tree | f2cb0f0898a83478bcb6fadd4248176e33c94097 | |
parent | cbc2825a339b8e9f491fcfdd4b191e3b87166e06 (diff) |
check in configure script if iconv() needs CONST
git-svn-id: https://svn.musicpd.org/mpd/trunk@1523 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-rw-r--r-- | configure.ac | 20 | ||||
-rw-r--r-- | src/charConv.c | 2 | ||||
-rw-r--r-- | src/charConv.h | 2 |
3 files changed, 22 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 9137a074b..f1c867ebe 100644 --- a/configure.ac +++ b/configure.ac @@ -157,6 +157,26 @@ if test x$enable_iconv = xyes; then if test x$enable_iconv = xyes; then AC_CHECK_LIB(iconv,main,MPD_LIBS="$MPD_LIBS $ICONV_LIBS",) AC_DEFINE(HAVE_ICONV,1,[Define to use iconv]) + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(proto_iconv, [ + AC_TRY_COMPILE([ +#include <stdlib.h> +#include <iconv.h> +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], iconv_arg1="", iconv_arg1="const") + proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:-}[$]proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) fi CFLAGS=$oldcflags LIBS=$oldlibs diff --git a/src/charConv.c b/src/charConv.c index 354a8aba7..52c14987b 100644 --- a/src/charConv.c +++ b/src/charConv.c @@ -83,7 +83,7 @@ int setCharSetConversion(char * to, char * from) { return -1; } -char * convStrDup(char * string) { +char * convStrDup(ICONV_CONST char * string) { if(!char_conv_to) return NULL; if(char_conv_same) return strdup(string); diff --git a/src/charConv.h b/src/charConv.h index 5687c1e7e..3093fcac2 100644 --- a/src/charConv.h +++ b/src/charConv.h @@ -23,7 +23,7 @@ int setCharSetConversion(char * to, char * from); -char * convStrDup(char * string); +char * convStrDup(ICONV_CONST char * string); void closeCharSetConversion(); |