NetBSD-5.0.2/dist/nvi/common/multibyte.h
/* $NetBSD: multibyte.h,v 1.1.1.2.6.2 2009/04/13 20:59:20 snj Exp $ */
#ifndef MULTIBYTE_H
#define MULTIBYTE_H
#ifdef USE_WIDECHAR
#include <wchar.h>
#include <wctype.h>
typedef wchar_t RCHAR_T;
typedef wchar_t CHAR_T;
#if defined(__NetBSD__)
#define MAX_CHAR_T 0xffffffff
#else
#define MAX_CHAR_T WCHAR_MAX
#endif
typedef u_int UCHAR_T;
#define STRLEN wcslen
#define STRTOL wcstol
#define STRTOUL wcstoul
#define SPRINTF swprintf
#define STRCMP wcscmp
#define STRPBRK wcspbrk
#define TOUPPER towupper
#define STRSET wmemset
#define L(ch) L ## ch
#else
typedef char RCHAR_T;
typedef u_char CHAR_T;
#define MAX_CHAR_T 0xff
typedef u_char UCHAR_T;
#define STRLEN strlen
#define STRTOL strtol
#define STRTOUL strtoul
#define SPRINTF snprintf
#define STRCMP strcmp
#define STRPBRK strpbrk
#define TOUPPER toupper
#define STRSET memset
#define L(ch) ch
#endif
#define MEMCMP(to, from, n) \
memcmp(to, from, (n) * sizeof(*(to)))
#define MEMMOVE(p, t, len) memmove(p, t, (len) * sizeof(*(p)))
#define MEMCPY(p, t, len) memcpy(p, t, (len) * sizeof(*(p)))
#define SIZE(w) (sizeof(w)/sizeof(*w))
#endif