summaryrefslogtreecommitdiff
path: root/textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4
diff options
context:
space:
mode:
Diffstat (limited to 'textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4')
-rw-r--r--textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b486
1 files changed, 86 insertions, 0 deletions
diff --git a/textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4 b/textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4
new file mode 100644
index 000000000000..b5d302151dfe
--- /dev/null
+++ b/textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4
@@ -0,0 +1,86 @@
+From b66ce0bba83febe2f4d119097a0391f5d886c3b4 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Tue, 1 Mar 2022 12:39:02 +0100
+Subject: [PATCH] Don't include ICU headers in public headers
+
+There's no need to make these implementation details public.
+---
+ configure.ac | 2 --
+ encoding.c | 14 ++++++++++++++
+ include/libxml/encoding.h | 21 +++------------------
+ 3 files changed, 17 insertions(+), 20 deletions(-)
+
+diff --git a/encoding.c b/encoding.c
+index 0847934a..bfa5a304 100644
+--- encoding.c
++++ encoding.c
+@@ -48,6 +48,20 @@
+ #include "buf.h"
+ #include "enc.h"
+
++#ifdef LIBXML_ICU_ENABLED
++#include <unicode/ucnv.h>
++/* Size of pivot buffer, same as icu/source/common/ucnv.cpp CHUNK_SIZE */
++#define ICU_PIVOT_BUF_SIZE 1024
++typedef struct _uconv_t uconv_t;
++struct _uconv_t {
++ UConverter *uconv; /* for conversion between an encoding and UTF-16 */
++ UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
++ UChar pivot_buf[ICU_PIVOT_BUF_SIZE];
++ UChar *pivot_source;
++ UChar *pivot_target;
++};
++#endif
++
+ static xmlCharEncodingHandlerPtr xmlUTF16LEHandler = NULL;
+ static xmlCharEncodingHandlerPtr xmlUTF16BEHandler = NULL;
+
+diff --git a/include/libxml/encoding.h b/include/libxml/encoding.h
+index c875af6f..77f137f4 100644
+--- include/libxml/encoding.h
++++ include/libxml/encoding.h
+@@ -27,9 +27,7 @@
+ #ifdef LIBXML_ICONV_ENABLED
+ #include <iconv.h>
+ #endif
+-#ifdef LIBXML_ICU_ENABLED
+-#include <unicode/ucnv.h>
+-#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -128,19 +126,6 @@ typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
+ * Block defining the handlers for non UTF-8 encodings.
+ * If iconv is supported, there are two extra fields.
+ */
+-#ifdef LIBXML_ICU_ENABLED
+-/* Size of pivot buffer, same as icu/source/common/ucnv.cpp CHUNK_SIZE */
+-#define ICU_PIVOT_BUF_SIZE 1024
+-struct _uconv_t {
+- UConverter *uconv; /* for conversion between an encoding and UTF-16 */
+- UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
+- UChar pivot_buf[ICU_PIVOT_BUF_SIZE];
+- UChar *pivot_source;
+- UChar *pivot_target;
+-};
+-typedef struct _uconv_t uconv_t;
+-#endif
+-
+ typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
+ typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
+ struct _xmlCharEncodingHandler {
+@@ -152,8 +137,8 @@ struct _xmlCharEncodingHandler {
+ iconv_t iconv_out;
+ #endif /* LIBXML_ICONV_ENABLED */
+ #ifdef LIBXML_ICU_ENABLED
+- uconv_t *uconv_in;
+- uconv_t *uconv_out;
++ struct _uconv_t *uconv_in;
++ struct _uconv_t *uconv_out;
+ #endif /* LIBXML_ICU_ENABLED */
+ };
+
+--
+GitLab
+