[libxslt] Don't use deprecated libxml2 macros



commit cba88d936553cccacf4083c5f3918bb50d3f06c1
Author: Nick Wellnhofer <wellnhofer aevum de>
Date:   Fri Aug 26 04:29:22 2022 +0200

    Don't use deprecated libxml2 macros

 libxslt/keys.c      |  2 +-
 libxslt/numbers.c   | 14 ++++++++++----
 libxslt/pattern.c   | 21 +++++++++++----------
 libxslt/transform.c |  4 ++--
 4 files changed, 24 insertions(+), 17 deletions(-)
---
diff --git a/libxslt/keys.c b/libxslt/keys.c
index ecef5382..ca0779c5 100644
--- a/libxslt/keys.c
+++ b/libxslt/keys.c
@@ -310,7 +310,7 @@ xsltAddKey(xsltStylesheetPtr style, const xmlChar *name,
     current = end = 0;
     while (match[current] != 0) {
        start = current;
-       while (IS_BLANK_CH(match[current]))
+       while (xmlIsBlank_ch(match[current]))
            current++;
        end = current;
        while ((match[end] != 0) && (match[end] != '|')) {
diff --git a/libxslt/numbers.c b/libxslt/numbers.c
index 4cb21254..9c74f0d4 100644
--- a/libxslt/numbers.c
+++ b/libxslt/numbers.c
@@ -92,6 +92,12 @@ xsltUTF8Charcmp(xmlChar *utf1, xmlChar *utf2) {
     return xmlStrncmp(utf1, utf2, len);
 }
 
+static int
+xsltIsLetterDigit(int val) {
+    return xmlIsBaseCharQ(val) || xmlIsIdeographicQ(val) ||
+           xmlIsDigitQ(val);
+}
+
 /***** Stop temp insert *****/
 /************************************************************************
  *                                                                     *
@@ -347,8 +353,8 @@ xsltNumberFormatTokenize(const xmlChar *format,
      * Insert initial non-alphanumeric token.
      * There is always such a token in the list, even if NULL
      */
-    while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, &len)) ||
-             IS_DIGIT(val)) ) {
+    while (!xsltIsLetterDigit(val = xmlStringCurrentChar(NULL, format+ix,
+                                                         &len))) {
        if (format[ix] == 0)            /* if end of format string */
            break; /* while */
        ix += len;
@@ -414,7 +420,7 @@ xsltNumberFormatTokenize(const xmlChar *format,
         * to correspond to the Letter and Digit classes from XML (and
         * one wonders why XSLT doesn't refer to these instead).
         */
-       while (IS_LETTER(val) || IS_DIGIT(val)) {
+       while (xsltIsLetterDigit(val)) {
            ix += len;
            val = xmlStringCurrentChar(NULL, format+ix, &len);
        }
@@ -423,7 +429,7 @@ xsltNumberFormatTokenize(const xmlChar *format,
         * Insert temporary non-alphanumeric final tooken.
         */
        j = ix;
-       while (! (IS_LETTER(val) || IS_DIGIT(val))) {
+       while (!xsltIsLetterDigit(val)) {
            if (val == 0)
                break; /* while */
            ix += len;
diff --git a/libxslt/pattern.c b/libxslt/pattern.c
index 1944661c..611bac30 100644
--- a/libxslt/pattern.c
+++ b/libxslt/pattern.c
@@ -1192,7 +1192,7 @@ xsltCompMatchClearCache(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp) {
 #define CUR_PTR ctxt->cur
 
 #define SKIP_BLANKS                                                    \
-    while (IS_BLANK_CH(CUR)) NEXT
+    while (xmlIsBlank_ch(CUR)) NEXT
 
 #define CURRENT (*ctxt->cur)
 #define NEXT ((*ctxt->cur) ?  ctxt->cur++: ctxt->cur)
@@ -1235,11 +1235,11 @@ xsltScanLiteral(xsltParserContextPtr ctxt) {
         NEXT;
        cur = q = CUR_PTR;
        val = xmlStringCurrentChar(NULL, cur, &len);
-       while ((IS_CHAR(val)) && (val != '"')) {
+       while ((xmlIsCharQ(val)) && (val != '"')) {
            cur += len;
            val = xmlStringCurrentChar(NULL, cur, &len);
        }
-       if (!IS_CHAR(val)) {
+       if (!xmlIsCharQ(val)) {
            ctxt->error = 1;
            return(NULL);
        } else {
@@ -1251,11 +1251,11 @@ xsltScanLiteral(xsltParserContextPtr ctxt) {
         NEXT;
        cur = q = CUR_PTR;
        val = xmlStringCurrentChar(NULL, cur, &len);
-       while ((IS_CHAR(val)) && (val != '\'')) {
+       while ((xmlIsCharQ(val)) && (val != '\'')) {
            cur += len;
            val = xmlStringCurrentChar(NULL, cur, &len);
        }
-       if (!IS_CHAR(val)) {
+       if (!xmlIsCharQ(val)) {
            ctxt->error = 1;
            return(NULL);
        } else {
@@ -1290,14 +1290,15 @@ xsltScanNCName(xsltParserContextPtr ctxt) {
 
     cur = q = CUR_PTR;
     val = xmlStringCurrentChar(NULL, cur, &len);
-    if (!IS_LETTER(val) && (val != '_'))
+    if (!xmlIsBaseCharQ(val) && !xmlIsIdeographicQ(val) && (val != '_'))
        return(NULL);
 
-    while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
+    while (xmlIsBaseCharQ(val) || xmlIsIdeographicQ(val) ||
+           xmlIsDigitQ(val) ||
            (val == '.') || (val == '-') ||
           (val == '_') ||
-          (IS_COMBINING(val)) ||
-          (IS_EXTENDER(val))) {
+          xmlIsCombiningQ(val) ||
+          xmlIsExtenderQ(val)) {
        cur += len;
        val = xmlStringCurrentChar(NULL, cur, &len);
     }
@@ -1853,7 +1854,7 @@ xsltCompilePatternInternal(const xmlChar *pattern, xmlDocPtr doc,
     current = end = 0;
     while (pattern[current] != 0) {
        start = current;
-       while (IS_BLANK_CH(pattern[current]))
+       while (xmlIsBlank_ch(pattern[current]))
            current++;
        end = current;
        level = 0;
diff --git a/libxslt/transform.c b/libxslt/transform.c
index 2d8fd7f9..cb43bb47 100644
--- a/libxslt/transform.c
+++ b/libxslt/transform.c
@@ -3637,12 +3637,12 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
 
        element = elements;
        while (*element != 0) {
-           while (IS_BLANK_CH(*element))
+           while (xmlIsBlank_ch(*element))
                element++;
            if (*element == 0)
                break;
            end = element;
-           while ((*end != 0) && (!IS_BLANK_CH(*end)))
+           while ((*end != 0) && (!xmlIsBlank_ch(*end)))
                end++;
            element = xmlStrndup(element, end - element);
            if (element) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]