summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/iconv.h10
-rw-r--r--lib/libc/iconv/citrus_iconv_local.h1
-rw-r--r--lib/libiconv_modules/Makefile3
3 files changed, 12 insertions, 2 deletions
diff --git a/include/iconv.h b/include/iconv.h
index 3423a24..69cc2c7 100644
--- a/include/iconv.h
+++ b/include/iconv.h
@@ -35,7 +35,6 @@
#include <sys/cdefs.h>
#include <sys/types.h>
-#include <stdbool.h>
#include <wchar.h>
#include <sys/cdefs.h>
@@ -48,6 +47,13 @@
#define libiconv iconv
#define libiconv_t iconv_t
#endif
+#ifdef __cplusplus
+typedef bool __iconv_bool;
+#elif __STDC_VERSION__ >= 199901L
+typedef _Bool __iconv_bool;
+#else
+typedef int __iconv_bool;
+#endif
struct __tag_iconv_t;
typedef struct __tag_iconv_t *iconv_t;
@@ -61,7 +67,7 @@ int iconv_close(iconv_t);
/*
* non-portable interfaces for iconv
*/
-int __iconv_get_list(char ***, size_t *, bool);
+int __iconv_get_list(char ***, size_t *, __iconv_bool);
void __iconv_free_list(char **, size_t);
size_t __iconv(iconv_t, const char **, size_t *, char **,
size_t *, __uint32_t, size_t *);
diff --git a/lib/libc/iconv/citrus_iconv_local.h b/lib/libc/iconv/citrus_iconv_local.h
index 52ac825..e673c9a 100644
--- a/lib/libc/iconv/citrus_iconv_local.h
+++ b/lib/libc/iconv/citrus_iconv_local.h
@@ -31,6 +31,7 @@
#define _CITRUS_ICONV_LOCAL_H_
#include <iconv.h>
+#include <stdbool.h>
#define _CITRUS_ICONV_GETOPS_FUNC_BASE(_n_) \
int _n_(struct _citrus_iconv_ops *)
diff --git a/lib/libiconv_modules/Makefile b/lib/libiconv_modules/Makefile
index 1a72136..2bb09da 100644
--- a/lib/libiconv_modules/Makefile
+++ b/lib/libiconv_modules/Makefile
@@ -2,6 +2,9 @@
.include <bsd.own.mk>
+CFLAGS+= -Dbool=_Bool
+.export CFLAGS
+
SUBDIR= BIG5 DECHanyu EUC EUCTW GBK2K HZ ISO2022 JOHAB MSKanji UES UTF1632 \
UTF7 UTF8 VIQR ZW iconv_none iconv_std mapper_646 mapper_none \
mapper_parallel mapper_serial mapper_std mapper_zone
OpenPOWER on IntegriCloud