Cast the 2nd argument to iconv() to a void *, as some systems define it as a
authorRussell Bryant <russell@russellbryant.com>
Mon, 16 Jul 2007 02:44:49 +0000 (02:44 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 16 Jul 2007 02:44:49 +0000 (02:44 +0000)
(const char *), while others define it as (char *).  This is done to suppress
compiler warnings about it.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75163 65c4cc65-6c06-0410-ace0-fbb531ad65f3

funcs/func_iconv.c

index cc7294c..1bce3c6 100644 (file)
@@ -47,6 +47,13 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/app.h"
 #include "asterisk/options.h"
 
+/*! 
+ * Some systems define the second arg to iconv() as (const char *),
+ * while others define it as (char *).  Cast it to a (void *) to 
+ * suppress compiler warnings about it. 
+ */
+#define AST_ICONV_CAST void *
+
 static int iconv_read(struct ast_channel *chan, const char *cmd, char *arguments, char *buf, size_t len)
 {
        AST_DECLARE_APP_ARGS(args,
@@ -82,7 +89,7 @@ static int iconv_read(struct ast_channel *chan, const char *cmd, char *arguments
                return -1;
        }
 
-       if (iconv(cd, &args.text, &incount, &buf, &outcount) == (size_t) -1) {
+       if (iconv(cd, (AST_ICONV_CAST) &args.text, &incount, &buf, &outcount) == (size_t) -1) {
                if (errno == E2BIG)
                        ast_log(LOG_WARNING, "Iconv: output buffer too small.\n");
                else if (errno == EILSEQ)