address signedness issue

This commit is contained in:
Pierangelo Masarati 2009-08-19 12:06:04 +00:00
parent 0caea881a5
commit 8776630509

View File

@ -191,7 +191,9 @@ ldap_x_wc_to_utf8 ( char *utf8char, wchar_t wchar, size_t count )
return 4; return 4;
if( wchar < 0x4000000 ) if( wchar < 0x4000000 )
return 5; return 5;
if( wchar < 0x80000000 ) #if SIZEOF_WCHAR_T > 4
if( wchar < 0x80000000LL )
#endif /* SIZEOF_WCHAR_T > 4 */
return 6; return 6;
return -1; return -1;
} }
@ -235,7 +237,11 @@ ldap_x_wc_to_utf8 ( char *utf8char, wchar_t wchar, size_t count )
utf8char[len++] = 0x80 | ( wchar & 0x3f ); utf8char[len++] = 0x80 | ( wchar & 0x3f );
} }
} else if( wchar < 0x80000000 ) { } else
#if SIZEOF_WCHAR_T > 4
if( wchar < 0x80000000LL )
#endif /* SIZEOF_WCHAR_T > 4 */
{
if (count >= 6) { if (count >= 6) {
utf8char[len++] = 0xfc | ( wchar >> 30 ); utf8char[len++] = 0xfc | ( wchar >> 30 );
utf8char[len++] = 0x80 | ( (wchar >> 24) & 0x3f ); utf8char[len++] = 0x80 | ( (wchar >> 24) & 0x3f );
@ -245,8 +251,11 @@ ldap_x_wc_to_utf8 ( char *utf8char, wchar_t wchar, size_t count )
utf8char[len++] = 0x80 | ( wchar & 0x3f ); utf8char[len++] = 0x80 | ( wchar & 0x3f );
} }
} else #if SIZEOF_WCHAR_T > 4
} else {
len = -1; len = -1;
#endif /* SIZEOF_WCHAR_T > 4 */
}
return len; return len;
@ -467,4 +476,4 @@ ldap_x_mbs_to_utf8s ( char *utf8str, const char *mbstr, size_t count,
return n; return n;
} }
#endif #endif /* SIZEOF_WCHAR_T >= 4 */