|
@@ -0,0 +1,114 @@
|
|
|
+From fc72e0833a4e5724aef604e2fd9adb1014cb4844 Mon Sep 17 00:00:00 2001
|
|
|
+From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
|
|
+Date: Mon, 16 Dec 2024 17:23:23 +0100
|
|
|
+Subject: [PATCH] Fix compilation with uclibc
|
|
|
+MIME-Version: 1.0
|
|
|
+Content-Type: text/plain; charset=UTF-8
|
|
|
+Content-Transfer-Encoding: 8bit
|
|
|
+
|
|
|
+The patch fixes the following errors and warnings raised by the
|
|
|
+compilation of the library with uClibc:
|
|
|
+
|
|
|
+encoding.c: In function ‘xmlEncInputChunk’:
|
|
|
+encoding.c:2209:32: warning: comparison between pointer and integer
|
|
|
+ 2209 | else if (handler->iconv_in != NULL) {
|
|
|
+ | ^~
|
|
|
+encoding.c: In function ‘xmlEncOutputChunk’:
|
|
|
+encoding.c:2269:33: warning: comparison between pointer and integer
|
|
|
+ 2269 | else if (handler->iconv_out != NULL) {
|
|
|
+ | ^~
|
|
|
+encoding.c: In function ‘xmlCharEncCloseFunc’:
|
|
|
+encoding.c:2681:29: warning: comparison between pointer and integer
|
|
|
+ 2681 | if ((handler->iconv_out != NULL) || (handler->iconv_in != NULL)) {
|
|
|
+ | ^~
|
|
|
+encoding.c:2681:60: warning: comparison between pointer and integer
|
|
|
+ 2681 | if ((handler->iconv_out != NULL) || (handler->iconv_in != NULL)) {
|
|
|
+ | ^~
|
|
|
+encoding.c:2683:32: warning: comparison between pointer and integer
|
|
|
+ 2683 | if (handler->iconv_out != NULL) {
|
|
|
+ | ^~
|
|
|
+encoding.c:2686:32: error: assignment to ‘iconv_t’ {aka ‘long int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
|
|
|
+ 2686 | handler->iconv_out = NULL;
|
|
|
+ | ^
|
|
|
+encoding.c:2688:31: warning: comparison between pointer and integer
|
|
|
+ 2688 | if (handler->iconv_in != NULL) {
|
|
|
+ | ^~
|
|
|
+encoding.c:2691:31: error: assignment to ‘iconv_t’ {aka ‘long int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
|
|
|
+ 2691 | handler->iconv_in = NULL;
|
|
|
+ | ^
|
|
|
+make[4]: *** [Makefile:1147: libxml2_la-encoding.lo] Error 1
|
|
|
+
|
|
|
+Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
|
|
+Upstream: https://gitlab.gnome.org/GNOME/libxml2/-/commit/fc72e0833a4e5724aef604e2fd9adb1014cb4844
|
|
|
+---
|
|
|
+ encoding.c | 20 ++++++++++----------
|
|
|
+ 1 file changed, 10 insertions(+), 10 deletions(-)
|
|
|
+
|
|
|
+diff --git a/encoding.c b/encoding.c
|
|
|
+index 14ffafddbc02..41ecde1885e4 100644
|
|
|
+--- a/encoding.c
|
|
|
++++ b/encoding.c
|
|
|
+@@ -1264,7 +1264,7 @@ DECLARE_ISO_FUNCS(16)
|
|
|
+ #endif /* LIBXML_ISO8859X_ENABLED */
|
|
|
+
|
|
|
+ #ifdef LIBXML_ICONV_ENABLED
|
|
|
+- #define EMPTY_ICONV , (iconv_t) 0, (iconv_t) 0
|
|
|
++ #define EMPTY_ICONV , (iconv_t) -1, (iconv_t) -1
|
|
|
+ #else
|
|
|
+ #define EMPTY_ICONV
|
|
|
+ #endif
|
|
|
+@@ -1389,8 +1389,8 @@ xmlNewCharEncodingHandler(const char *name,
|
|
|
+ handler->name = up;
|
|
|
+
|
|
|
+ #ifdef LIBXML_ICONV_ENABLED
|
|
|
+- handler->iconv_in = NULL;
|
|
|
+- handler->iconv_out = NULL;
|
|
|
++ handler->iconv_in = (iconv_t) -1;
|
|
|
++ handler->iconv_out = (iconv_t) -1;
|
|
|
+ #endif
|
|
|
+ #ifdef LIBXML_ICU_ENABLED
|
|
|
+ handler->uconv_in = NULL;
|
|
|
+@@ -2200,7 +2200,7 @@ xmlEncInputChunk(xmlCharEncodingHandler *handler, unsigned char *out,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #ifdef LIBXML_ICONV_ENABLED
|
|
|
+- else if (handler->iconv_in != NULL) {
|
|
|
++ else if (handler->iconv_in != (iconv_t) -1) {
|
|
|
+ ret = xmlIconvWrapper(handler->iconv_in, out, outlen, in, inlen);
|
|
|
+ }
|
|
|
+ #endif /* LIBXML_ICONV_ENABLED */
|
|
|
+@@ -2260,7 +2260,7 @@ xmlEncOutputChunk(xmlCharEncodingHandler *handler, unsigned char *out,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #ifdef LIBXML_ICONV_ENABLED
|
|
|
+- else if (handler->iconv_out != NULL) {
|
|
|
++ else if (handler->iconv_out != (iconv_t) -1) {
|
|
|
+ ret = xmlIconvWrapper(handler->iconv_out, out, outlen, in, inlen);
|
|
|
+ }
|
|
|
+ #endif /* LIBXML_ICONV_ENABLED */
|
|
|
+@@ -2672,17 +2672,17 @@ xmlCharEncCloseFunc(xmlCharEncodingHandler *handler) {
|
|
|
+ * Iconv handlers can be used only once, free the whole block.
|
|
|
+ * and the associated icon resources.
|
|
|
+ */
|
|
|
+- if ((handler->iconv_out != NULL) || (handler->iconv_in != NULL)) {
|
|
|
++ if ((handler->iconv_out != (iconv_t) -1) || (handler->iconv_in != (iconv_t) -1)) {
|
|
|
+ tofree = 1;
|
|
|
+- if (handler->iconv_out != NULL) {
|
|
|
++ if (handler->iconv_out != (iconv_t) -1) {
|
|
|
+ if (iconv_close(handler->iconv_out))
|
|
|
+ ret = -1;
|
|
|
+- handler->iconv_out = NULL;
|
|
|
++ handler->iconv_out = (iconv_t) -1;
|
|
|
+ }
|
|
|
+- if (handler->iconv_in != NULL) {
|
|
|
++ if (handler->iconv_in != (iconv_t) -1) {
|
|
|
+ if (iconv_close(handler->iconv_in))
|
|
|
+ ret = -1;
|
|
|
+- handler->iconv_in = NULL;
|
|
|
++ handler->iconv_in = (iconv_t) -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endif /* LIBXML_ICONV_ENABLED */
|
|
|
+--
|
|
|
+2.43.0
|
|
|
+
|