diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2008-01-17 18:56:38 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2008-01-17 18:56:38 (GMT) |
commit | f1103ed882b5739e7f16cfd69527bde6d6d96dfa (patch) | |
tree | 05e55417a750c1275c9139b7952de6941db168dd /src/portable.cpp | |
parent | c9fcb1845bd7c5080abfee1be4070130bbdd38c2 (diff) | |
download | Doxygen-f1103ed882b5739e7f16cfd69527bde6d6d96dfa.zip Doxygen-f1103ed882b5739e7f16cfd69527bde6d6d96dfa.tar.gz Doxygen-f1103ed882b5739e7f16cfd69527bde6d6d96dfa.tar.bz2 |
Release-1.5.4-20080101
Diffstat (limited to 'src/portable.cpp')
-rw-r--r-- | src/portable.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/portable.cpp b/src/portable.cpp index 174fa20..59484b2 100644 --- a/src/portable.cpp +++ b/src/portable.cpp @@ -377,7 +377,12 @@ void * portable_iconv_open(const char* tocode, const char* fromcode) size_t portable_iconv (void *cd, const char** inbuf, size_t *inbytesleft, char** outbuf, size_t *outbytesleft) { -#if ((defined(_LIBICONV_VERSION) && (_LIBICONV_VERSION>=0x0109)) || defined(_OS_SOLARIS_)) +// libiconv is a mess. For some platforms/version the prototype of inbuf is +// "const char **", for others it is "char **". C++ requires the proper cast to +// avoid a compile error, that is were the CASTNEEDED is for. +#if ((defined(_LIBICONV_VERSION) && (_LIBICONV_VERSION>=0x0109) && \ + !((defined(_OS_MAC_) || defined(Q_OS_MACX) )&& (_LIBICONV_VERSION==0x010B))) \ + || defined(_OS_SOLARIS_)) #define CASTNEEDED(x) (x) #else #define CASTNEEDED(x) (char **)(x) |