svn commit: r255297 - in head: include lib/libc/iconv lib/libiconv_modules
David Chisnall
theraven at FreeBSD.org
Fri Sep 6 09:46:46 UTC 2013
Author: theraven
Date: Fri Sep 6 09:46:44 2013
New Revision: 255297
URL: http://svnweb.freebsd.org/changeset/base/255297
Log:
Fix the namespace pollution caused by iconv.h including stdbool.h
This broke any C89 ports that defined bool themselves, including things
like gcc, gtk, and so on.
Modified:
head/include/iconv.h
head/lib/libc/iconv/citrus_iconv_local.h
head/lib/libiconv_modules/Makefile
Modified: head/include/iconv.h
==============================================================================
--- head/include/iconv.h Fri Sep 6 09:08:40 2013 (r255296)
+++ head/include/iconv.h Fri Sep 6 09:46:44 2013 (r255297)
@@ -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 *);
Modified: head/lib/libc/iconv/citrus_iconv_local.h
==============================================================================
--- head/lib/libc/iconv/citrus_iconv_local.h Fri Sep 6 09:08:40 2013 (r255296)
+++ head/lib/libc/iconv/citrus_iconv_local.h Fri Sep 6 09:46:44 2013 (r255297)
@@ -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 *)
Modified: head/lib/libiconv_modules/Makefile
==============================================================================
--- head/lib/libiconv_modules/Makefile Fri Sep 6 09:08:40 2013 (r255296)
+++ head/lib/libiconv_modules/Makefile Fri Sep 6 09:46:44 2013 (r255297)
@@ -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
More information about the svn-src-head
mailing list