diff options
Diffstat (limited to 'dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch')
-rw-r--r-- | dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch b/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch new file mode 100644 index 000000000000..86c779c3c7cf --- /dev/null +++ b/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch @@ -0,0 +1,93 @@ +https://gitlab.gnome.org/GNOME/libxslt/-/commit/8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7 + +From 8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Tue, 2 Jul 2024 22:27:02 +0200 +Subject: [PATCH] utils: Don't use deprecated xmlCharEncodingHandler member + +--- + libxslt/xsltutils.c | 44 ++++++++++++++++++++------------------------ + 1 file changed, 20 insertions(+), 24 deletions(-) + +diff --git a/libxslt/xsltutils.c b/libxslt/xsltutils.c +index 3705d28f..d493905b 100644 +--- a/libxslt/xsltutils.c ++++ b/libxslt/xsltutils.c +@@ -1750,13 +1750,12 @@ xsltSaveResultToFilename(const char *URL, xmlDocPtr result, + + XSLT_GET_IMPORT_PTR(encoding, style, encoding) + if (encoding != NULL) { +- xmlCharEncodingHandlerPtr encoder; ++ xmlCharEncodingHandlerPtr encoder = NULL; + +- encoder = xmlFindCharEncodingHandler((char *)encoding); +- if ((encoder != NULL) && +- (xmlStrEqual((const xmlChar *)encoder->name, +- (const xmlChar *) "UTF-8"))) +- encoder = NULL; ++ /* Don't use UTF-8 dummy encoder */ ++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) && ++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0)) ++ encoder = xmlFindCharEncodingHandler((char *) encoding); + buf = xmlOutputBufferCreateFilename(URL, encoder, compression); + } else { + buf = xmlOutputBufferCreateFilename(URL, NULL, compression); +@@ -1793,13 +1792,12 @@ xsltSaveResultToFile(FILE *file, xmlDocPtr result, xsltStylesheetPtr style) { + + XSLT_GET_IMPORT_PTR(encoding, style, encoding) + if (encoding != NULL) { +- xmlCharEncodingHandlerPtr encoder; ++ xmlCharEncodingHandlerPtr encoder = NULL; + +- encoder = xmlFindCharEncodingHandler((char *)encoding); +- if ((encoder != NULL) && +- (xmlStrEqual((const xmlChar *)encoder->name, +- (const xmlChar *) "UTF-8"))) +- encoder = NULL; ++ /* Don't use UTF-8 dummy encoder */ ++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) && ++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0)) ++ encoder = xmlFindCharEncodingHandler((char *) encoding); + buf = xmlOutputBufferCreateFile(file, encoder); + } else { + buf = xmlOutputBufferCreateFile(file, NULL); +@@ -1837,13 +1835,12 @@ xsltSaveResultToFd(int fd, xmlDocPtr result, xsltStylesheetPtr style) { + + XSLT_GET_IMPORT_PTR(encoding, style, encoding) + if (encoding != NULL) { +- xmlCharEncodingHandlerPtr encoder; ++ xmlCharEncodingHandlerPtr encoder = NULL; + +- encoder = xmlFindCharEncodingHandler((char *)encoding); +- if ((encoder != NULL) && +- (xmlStrEqual((const xmlChar *)encoder->name, +- (const xmlChar *) "UTF-8"))) +- encoder = NULL; ++ /* Don't use UTF-8 dummy encoder */ ++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) && ++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0)) ++ encoder = xmlFindCharEncodingHandler((char *) encoding); + buf = xmlOutputBufferCreateFd(fd, encoder); + } else { + buf = xmlOutputBufferCreateFd(fd, NULL); +@@ -1880,13 +1877,12 @@ xsltSaveResultToString(xmlChar **doc_txt_ptr, int * doc_txt_len, + + XSLT_GET_IMPORT_PTR(encoding, style, encoding) + if (encoding != NULL) { +- xmlCharEncodingHandlerPtr encoder; ++ xmlCharEncodingHandlerPtr encoder = NULL; + +- encoder = xmlFindCharEncodingHandler((char *)encoding); +- if ((encoder != NULL) && +- (xmlStrEqual((const xmlChar *)encoder->name, +- (const xmlChar *) "UTF-8"))) +- encoder = NULL; ++ /* Don't use UTF-8 dummy encoder */ ++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) && ++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0)) ++ encoder = xmlFindCharEncodingHandler((char *) encoding); + buf = xmlAllocOutputBuffer(encoder); + if (buf == NULL) + xmlCharEncCloseFunc(encoder); +-- +GitLab |