--- include/common.h Mon Mar 14 00:02:43 2005 +++ include/common.h Wed Oct 26 13:51:36 2005 @@ -198,11 +198,24 @@ #define iscntrl(c) (char_atribs[(u_char)(c)]&CNTRL) #define isalpha(c) (char_atribs[(u_char)(c)]&ALPHA) #define isspace(c) (char_atribs[(u_char)(c)]&SPACE) +#ifndef RUSSIAN_IRCD #define islower(c) ((char_atribs[(u_char)(c)]&ALPHA) && ((u_char)(c) > 0x5f)) #define isupper(c) ((char_atribs[(u_char)(c)]&ALPHA) && ((u_char)(c) < 0x60)) -#define isdigit(c) (char_atribs[(u_char)(c)]&DIGIT) #define isxdigit(c) (isdigit(c) || ('a' <= (c) && (c) <= 'f') || \ ('A' <= (c) && (c) <= 'F')) +#else +#define islower(c) ((char_atribs[(u_char)(c)]&ALPHA) && (((u_char)(c) >= 0x61 && (u_char)(c) <= 0x7a) || \ + ((u_char)(c) >= 0xe0 && (u_char)(c) <= 0xff) || \ + (u_char)(c) == 0xb8)) +#define isupper(c) ((char_atribs[(u_char)(c)]&ALPHA) && (((u_char)(c) >= 0x41 && (u_char)(c) <= 0x5a) || \ + ((u_char)(c) >= 0xc0 && (u_char)(c) <= 0xdf) || \ + (u_char)(c) == 0xa8)) +#define isxdigit(c) (isdigit(c) || ('a' <= (c) && (c) <= 'f') || \ + ('A' <= (c) && (c) <= 'F') || \ + ((u_char)(c) >= 0xc0 && (u_char)(c) <= 0xff) || \ + (u_char)(c) == 0xa8 || (u_char)(c) == 0xb8) +#endif +#define isdigit(c) (char_atribs[(u_char)(c)]&DIGIT) #define isalnum(c) (char_atribs[(u_char)(c)]&(DIGIT|ALPHA)) #define isprint(c) (char_atribs[(u_char)(c)]&PRINT) #define isascii(c) ((u_char)(c) >= 0 && (u_char)(c) <= 0x7f)