mirror of
https://github.com/ValveSoftware/source-sdk-2013.git
synced 2024-12-29 08:15:36 +03:00
Fix incompatibility with more recent conforming iconv implementations
See http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv_open.html#tag_16_234_04
This commit is contained in:
parent
62b022b3c3
commit
3d1ae5c2fd
@ -1411,7 +1411,7 @@ int _V_UCS2ToUnicode( const ucs2 *pUCS2, wchar_t *pUnicode, int cubDestSizeInByt
|
||||
size_t nMaxUTF8 = cubDestSizeInBytes;
|
||||
char *pIn = (char *)pUCS2;
|
||||
char *pOut = (char *)pUnicode;
|
||||
if ( conv_t > 0 )
|
||||
if ( conv_t && conv_t != ((iconv_t)-1) )
|
||||
{
|
||||
cchResult = iconv( conv_t, &pIn, &nLenUnicde, &pOut, &nMaxUTF8 );
|
||||
iconv_close( conv_t );
|
||||
@ -1451,7 +1451,7 @@ int _V_UnicodeToUCS2( const wchar_t *pUnicode, int cubSrcInBytes, char *pUCS2, i
|
||||
size_t nMaxUCS2 = cubDestSizeInBytes;
|
||||
char *pIn = (char*)pUnicode;
|
||||
char *pOut = pUCS2;
|
||||
if ( conv_t > 0 )
|
||||
if ( conv_t && conv_t != ((iconv_t)-1) )
|
||||
{
|
||||
cchResult = iconv( conv_t, &pIn, &nLenUnicde, &pOut, &nMaxUCS2 );
|
||||
iconv_close( conv_t );
|
||||
@ -1499,7 +1499,7 @@ int _V_UCS2ToUTF8( const ucs2 *pUCS2, char *pUTF8, int cubDestSizeInBytes )
|
||||
size_t nMaxUTF8 = cubDestSizeInBytes - 1;
|
||||
char *pIn = (char *)pUCS2;
|
||||
char *pOut = (char *)pUTF8;
|
||||
if ( conv_t > 0 )
|
||||
if ( conv_t && conv_t != ((iconv_t)-1) )
|
||||
{
|
||||
const size_t nBytesToWrite = nMaxUTF8;
|
||||
cchResult = iconv( conv_t, &pIn, &nLenUnicde, &pOut, &nMaxUTF8 );
|
||||
@ -1544,7 +1544,7 @@ int _V_UTF8ToUCS2( const char *pUTF8, int cubSrcInBytes, ucs2 *pUCS2, int cubDes
|
||||
size_t nMaxUTF8 = cubDestSizeInBytes;
|
||||
char *pIn = (char *)pUTF8;
|
||||
char *pOut = (char *)pUCS2;
|
||||
if ( conv_t > 0 )
|
||||
if ( conv_t && conv_t != ((iconv_t)-1) )
|
||||
{
|
||||
cchResult = iconv( conv_t, &pIn, &nLenUnicde, &pOut, &nMaxUTF8 );
|
||||
iconv_close( conv_t );
|
||||
|
Loading…
Reference in New Issue
Block a user