guard against Solaris preprocessor polution
[nvi.git] / common / multibyte.h
blob4603b1093ade32e85184cf24b35ebd06e46c4b6f
1 #ifndef MULTIBYTE_H
2 #define MULTIBYTE_H
4 #include <wchar.h>
5 #include <wctype.h>
7 #ifdef USE_WIDECHAR
8 typedef int RCHAR_T;
9 #define RCHAR_T_MAX ((1 << 24)-1)
10 typedef wchar_t CHAR_T;
11 #define MAX_CHAR_T 0xffffff /* XXXX */
12 typedef u_int UCHAR_T;
13 #else
14 typedef char RCHAR_T;
15 #define RCHAR_T_MAX CHAR_MAX
16 typedef u_char CHAR_T;
17 #define MAX_CHAR_T 0xff
18 typedef u_char UCHAR_T;
19 #endif
21 #define MEMCMP(to, from, n) \
22 memcmp(to, from, (n) * sizeof(*(to)))
23 #define MEMMOVE(p, t, len) memmove(p, t, (len) * sizeof(*(p)))
24 #define MEMCPY(p, t, len) memcpy(p, t, (len) * sizeof(*(p)))
25 #define STRSET(s,c,n) \
26 sizeof(char) == sizeof(CHAR_T) ? memset(s,c,n) : v_strset(s,c,n)
28 #endif