aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schickel2010-06-15 17:13:42 +0000
committerJohannes Schickel2010-06-15 17:13:42 +0000
commit0d7c8071cc8baed030d5f25203982e0613440412 (patch)
tree0757902177e6c308d0cb8f506df76268c140976e
parentcf6a29e8623be7ae9575ee34fa42e1c2c2d29a3b (diff)
downloadscummvm-rg350-0d7c8071cc8baed030d5f25203982e0613440412.tar.gz
scummvm-rg350-0d7c8071cc8baed030d5f25203982e0613440412.tar.bz2
scummvm-rg350-0d7c8071cc8baed030d5f25203982e0613440412.zip
Fix iconv signature on BSD systems. (Based on what we do in tools/)
svn-id: r49868
-rwxr-xr-xcommon/translation.cpp4
-rwxr-xr-xconfigure12
2 files changed, 16 insertions, 0 deletions
diff --git a/common/translation.cpp b/common/translation.cpp
index 7346441d27..7dfb3fcc8e 100755
--- a/common/translation.cpp
+++ b/common/translation.cpp
@@ -119,7 +119,11 @@ bool TranslationManager::convert(const char *message) {
char *msgcpy = new char[len + 1];
strcpy(msgcpy, message);
char *msg = msgcpy;
+#ifdef ICONV_USES_CONST
+ const char **pmsg = &msg;
+#else
char **pmsg = &msg;
+#endif
// Preparing conversion destination
size_t len2 = _sizeconv;
diff --git a/configure b/configure
index 56827b3855..c8a640bea2 100755
--- a/configure
+++ b/configure
@@ -2349,6 +2349,18 @@ EOF
add_to_config_h_if_yes $_termconv '#define TERMCONV'
if test "$_termconv" = yes ; then
+ uses_const=no
+ cat > $TMPC << EOF
+#include <iconv.h>
+int main(int argc, char **argv) {
+ iconv_t iconvP;
+ const char **inbuf = 0;
+ iconv(iconvP, inbuf, 0, 0, 0);
+ return 0;
+}
+EOF
+ cc_check $LDFLAGS $LIBS $CXXFLAGS && uses_const=yes
+ add_to_config_h_if_yes $uses_const '#define ICONV_USES_CONST'
echo "with terminal conversion)"
else
echo "without terminal conversion)"