[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#3869) Unicode datatypes @ 64-bit host
Full_Name: Hallvard B Furuseth
Version: HEAD
OS: Linux (x86_64)
URL:
Submission from: (NULL) (129.240.186.42)
Submitted by: hallvard
liblunicode/ucstr.c:ucstrncasecmp() and ucstrncmp() take ldap_unicode_t*
strings, but are passed ac_uint4* strings from UTF8bvnormcmp().
include/ldap_pvt_uc.h says
/* UCDATA uses UCS-2 passed in an unsigned long */
typedef unsigned long ldap_unicode_t;
which is 8 bytes on a 64-bit host, but include/ac/bytes.h says
typedef unsigned AC_INT4_TYPE ac_uint4;
where AC_INT4_TYPE is a 4-byte integer type.
Yet it passes 'make tests', which maybe means some character
encoding tests are needed...
BTW, ldap_pvt_uc.h also has a declaration
typedef short ldap_ucs2_t;
Looks strange to me that this one is signed. The type is not
used though, so maybe it should simply be deleted.