summaryrefslogtreecommitdiff
path: root/mbsupport.h
diff options
context:
space:
mode:
Diffstat (limited to 'mbsupport.h')
-rw-r--r--mbsupport.h59
1 files changed, 19 insertions, 40 deletions
diff --git a/mbsupport.h b/mbsupport.h
index 6008da77..f4e1a821 100644
--- a/mbsupport.h
+++ b/mbsupport.h
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2004, 2005, 2011 the Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2011, 2012 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -23,48 +23,27 @@
* 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
+#ifdef __DJGPP__
+# undef MB_CUR_MAX
+# define MB_CUR_MAX 1
-#ifndef NO_MBSUPPORT
+/* All this glop is for DGJPP */
-#if defined(HAVE_ISWCTYPE) \
- && defined(HAVE_LOCALE_H) \
- && 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
+#define towupper toupper
+#define towlower tolower
+#define iswalnum isalnum
+#define iswalpha isalpha
+#define iswupper isupper
+#define iswlower islower
-#else /* NO_MBSUPPORT is defined */
-# define MBS_SUPPORT 0
-#endif
+#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)
-#if ! MBS_SUPPORT
-# undef MB_CUR_MAX
-# define MB_CUR_MAX 1
+extern wctype_t wctype(const char *name);
+extern int iswctype(wint_t wc, wctype_t desc);
+extern int wcscoll(const wchar_t *ws1, const wchar_t *ws2);
#endif