diff options
Diffstat (limited to 'mbsupport.h')
-rw-r--r-- | mbsupport.h | 74 |
1 files changed, 9 insertions, 65 deletions
diff --git a/mbsupport.h b/mbsupport.h index 9a62486f..f4e1a821 100644 --- a/mbsupport.h +++ b/mbsupport.h @@ -23,81 +23,25 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -/* - * This file is needed because we test for i18n support in 3 different - * places, and we want a consistent definition in all of them. Following - * the ``Don't Repeat Yourself'' principle from "The Pragmatic Programmer", - * we centralize the tests here. - * - * This test is the union of all the current tests. - */ - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif - -#ifndef NO_MBSUPPORT - -#if defined(HAVE_ISWCTYPE) \ - && defined(HAVE_LOCALE_H) \ - && (defined(HAVE_BTOWC) || defined(ZOS_USS)) \ - && defined(HAVE_MBRLEN) \ - && defined(HAVE_MBRTOWC) \ - && defined(HAVE_WCHAR_H) \ - && defined(HAVE_WCRTOMB) \ - && defined(HAVE_WCSCOLL) \ - && defined(HAVE_WCTYPE) \ - && defined(HAVE_WCTYPE_H) \ - && defined(HAVE_WCTYPE_T) \ - && defined(HAVE_WINT_T) \ - && defined(HAVE_ISWLOWER) \ - && defined(HAVE_ISWUPPER) \ - && defined(HAVE_TOWLOWER) \ - && defined(HAVE_TOWUPPER) \ - && (defined(HAVE_STDLIB_H) && defined(MB_CUR_MAX)) \ -/* We can handle multibyte strings. */ -# define MBS_SUPPORT 1 -#else -# define MBS_SUPPORT 0 -#endif -#else /* NO_MBSUPPORT is defined */ -# define MBS_SUPPORT 0 -#endif - -#if ! MBS_SUPPORT +#ifdef __DJGPP__ # undef MB_CUR_MAX # define MB_CUR_MAX 1 -/* All this glop is for dfa.c. Bleah. */ - -#ifndef __DJGPP__ -#define wchar_t char -#endif +/* All this glop is for DGJPP */ -#define wctype_t int -#define wint_t int -#define mbstate_t int -#define WEOF EOF #define towupper toupper #define towlower tolower -#ifndef __DJGPP__ -#define btowc(x) ((int)x) -#endif #define iswalnum isalnum #define iswalpha isalpha #define iswupper isupper -#if defined(ZOS_USS) -#undef towupper -#undef towlower -#undef btowc -#undef iswalnum -#undef iswalpha -#undef iswupper -#undef wctype -#undef iswctype -#undef wcscoll -#endif +#define iswlower islower + +#define mbrtowc(wcp, s, e, mbs) (-1) +#define mbrlen(s, e, mbs) strlen(s) +#define wcrtomb(wc, b, mbs) (-1) +#define wcslen strlen +#define wctob(wc) (EOF) extern wctype_t wctype(const char *name); extern int iswctype(wint_t wc, wctype_t desc); |