aboutsummaryrefslogtreecommitdiffstats
path: root/mbsupport.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-07-16 14:40:49 +0300
committerArnold D. Robbins <arnold@skeeve.com>2010-07-16 14:40:49 +0300
commit85c0d5edb781c9f31b79e48452b1ca68643f41de (patch)
tree14efbc59b30cdd626a208d6391f3ed226387054e /mbsupport.h
parent6cc7d587a710606d3fe52222707739c7cc1b8651 (diff)
downloadegawk-85c0d5edb781c9f31b79e48452b1ca68643f41de.tar.gz
egawk-85c0d5edb781c9f31b79e48452b1ca68643f41de.tar.bz2
egawk-85c0d5edb781c9f31b79e48452b1ca68643f41de.zip
Move to gawk-3.1.4.
Diffstat (limited to 'mbsupport.h')
-rw-r--r--mbsupport.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/mbsupport.h b/mbsupport.h
new file mode 100644
index 00000000..78a27ed8
--- /dev/null
+++ b/mbsupport.h
@@ -0,0 +1,54 @@
+/*
+ * mbsupport.h --- Localize determination of whether we have multibyte stuff.
+ */
+
+/*
+ * Copyright (C) 2004 the Free Software Foundation, Inc.
+ *
+ * This file is part of GAWK, the GNU implementation of the
+ * AWK Programming Language.
+ *
+ * GAWK is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GAWK is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ */
+
+/*
+ * This file is needed because we test for 1i8n 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
+
+#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_STDLIB_H) && defined(MB_CUR_MAX)) \
+/* We can handle multibyte strings. */
+# define MBS_SUPPORT 1
+#else
+# undef MBS_SUPPORT
+#endif