From 212d0ac28c3b10c57ffefb16af998f58fa5e294c Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Tue, 15 Jun 2010 17:50:14 +0000 Subject: Fix compilation when using ICONV_USES_CONST. svn-id: r49878 --- common/translation.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'common') diff --git a/common/translation.cpp b/common/translation.cpp index c7bcb385d1..60ae4c2257 100644 --- a/common/translation.cpp +++ b/common/translation.cpp @@ -129,27 +129,29 @@ String TranslationManager::getTranslation(const String &message) { bool TranslationManager::convert(const char *message) { // Preparing conversion origin size_t len = strlen(message); - char *msgcpy = new char[len + 1]; - strcpy(msgcpy, message); - char *msg = msgcpy; #ifdef ICONV_USES_CONST + const char *msg = message; const char **pmsg = &msg; #else + char *msgcpy = new char[len + 1]; + strcpy(msgcpy, message); + char *msg = msgcpy; char **pmsg = &msg; #endif // Preparing conversion destination size_t len2 = _sizeconv; char *conv = _convmsg; - char **pconv = &conv; // Clean previous conversions - iconv(_conversion, NULL, NULL, pconv, &len2); + iconv(_conversion, NULL, NULL, &conv, &len2); // Do the real conversion - size_t result = iconv(_conversion, pmsg, &len, pconv, &len2); + size_t result = iconv(_conversion, pmsg, &len, &conv, &len2); +#ifndef ICONV_USES_CONST delete[] msgcpy; +#endif return result != ((size_t)-1); } -- cgit v1.2.3