* these macros assume 'x' is an ASCII x
* and assume the "C" locale
*/
-#define LDAP_ASCII(c) ((c) < 0x80)
+#define LDAP_ASCII(c) (!((c) & 0x80))
#define LDAP_SPACE(c) ((c) == ' ' || (c) == '\t' || (c) == '\n')
#define LDAP_DIGIT(c) ((c) >= '0' && (c) <= '9')
#define LDAP_LOWER(c) ((c) >= 'a' && (c) <= 'z')
/* Optimizations */
LDAP_V (const char) ldap_utf8_lentab[128];
-#define LDAP_UTF8_ISASCII(p) ( *(unsigned char *)(p) ^ 0x80 )
+#define LDAP_UTF8_ISASCII(p) ( !(*(unsigned char *)(p) & 0x80 ) )
#define LDAP_UTF8_CHARLEN(p) ( LDAP_UTF8_ISASCII(p) \
? 1 : ldap_utf8_lentab[*(unsigned char *)(p) ^ 0x80] )
#define LDAP_UTF8_OFFSET(p) ( LDAP_UTF8_ISASCII(p) \