diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2021-04-23 16:52:55 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2021-04-23 16:52:55 (GMT) |
commit | e2a9aef742a70f2260dd38650126c5a66857023f (patch) | |
tree | 605d11f1a718398d4265dcba2e0aba2cfe99af1d | |
parent | 592aaa4f17d73ec8c475df0f44efaea8cc4d575c (diff) | |
download | Doxygen-e2a9aef742a70f2260dd38650126c5a66857023f.zip Doxygen-e2a9aef742a70f2260dd38650126c5a66857023f.tar.gz Doxygen-e2a9aef742a70f2260dd38650126c5a66857023f.tar.bz2 |
Fix for crash due to wrong function prototype for portable_iconv_open
-rw-r--r-- | src/configimpl.l | 2 | ||||
-rw-r--r-- | src/htmlhelp.cpp | 2 | ||||
-rw-r--r-- | src/portable.h | 2 | ||||
-rw-r--r-- | src/util.cpp | 4 |
4 files changed, 5 insertions, 5 deletions
diff --git a/src/configimpl.l b/src/configimpl.l index baf6480..fbaf3ae 100644 --- a/src/configimpl.l +++ b/src/configimpl.l @@ -554,7 +554,7 @@ static QCString configStringRecode( int inputSize=str.length(); int outputSize=inputSize*4+1; QCString output(outputSize); - void *cd = portable_iconv_open(outputEncoding,inputEncoding); + void *cd = portable_iconv_open(outputEncoding.data(),inputEncoding.data()); if (cd==(void *)(-1)) { config_term("Error: unsupported character conversion: '%s'->'%s'\n", diff --git a/src/htmlhelp.cpp b/src/htmlhelp.cpp index 1672b69..05553e1 100644 --- a/src/htmlhelp.cpp +++ b/src/htmlhelp.cpp @@ -51,7 +51,7 @@ class HtmlHelpRecoder { QCString str = Config_getString(CHM_INDEX_ENCODING); if (str.isEmpty()) str = "CP1250"; // use safe and likely default - m_fromUtf8 = portable_iconv_open(str,"UTF-8"); + m_fromUtf8 = portable_iconv_open(str.data(),"UTF-8"); if (m_fromUtf8==m_iconv_null) { term("unsupported character conversion for CHM_INDEX_ENCODING: '%s'->'UTF-8'\n", qPrint(str)); diff --git a/src/portable.h b/src/portable.h index bf4cb47..205f024 100644 --- a/src/portable.h +++ b/src/portable.h @@ -52,7 +52,7 @@ namespace Portable extern "C" { - void * portable_iconv_open(const QCString &tocode, const QCString &fromcode); + void * portable_iconv_open(const char *tocode, const char *fromcode); size_t portable_iconv (void *cd, char** inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); int portable_iconv_close (void *cd); diff --git a/src/util.cpp b/src/util.cpp index d45144c..565cd9f 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1389,7 +1389,7 @@ QCString transcodeCharacterStringToUTF8(const QCString &input) int inputSize=input.length(); int outputSize=inputSize*4+1; QCString output(outputSize); - void *cd = portable_iconv_open(outputEncoding,inputEncoding); + void *cd = portable_iconv_open(outputEncoding,inputEncoding.data()); if (cd==(void *)(-1)) { err("unsupported character conversion: '%s'->'%s'\n", @@ -6161,7 +6161,7 @@ static int transcodeCharacterBuffer(const QCString &fileName,BufStr &srcBuf,int { if (inputEncoding.isEmpty() || outputEncoding.isEmpty()) return size; if (qstricmp(inputEncoding,outputEncoding)==0) return size; - void *cd = portable_iconv_open(outputEncoding,inputEncoding); + void *cd = portable_iconv_open(outputEncoding.data(),inputEncoding.data()); if (cd==(void *)(-1)) { term("unsupported character conversion: '%s'->'%s': %s\n" |