Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
162acdae
Commit
162acdae
authored
Nov 08, 2022
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
xslt: Import upstream release 1.1.37.
parent
d0b03aa2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
22 deletions
+32
-22
functions.c
libs/xslt/libxslt/functions.c
+8
-4
keys.c
libs/xslt/libxslt/keys.c
+1
-1
numbers.c
libs/xslt/libxslt/numbers.c
+10
-4
pattern.c
libs/xslt/libxslt/pattern.c
+11
-11
transform.c
libs/xslt/libxslt/transform.c
+2
-2
No files found.
libs/xslt/libxslt/functions.c
View file @
162acdae
...
...
@@ -608,7 +608,8 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
switch
(
nargs
)
{
case
3
:
CAST_TO_STRING
;
if
((
ctxt
->
value
!=
NULL
)
&&
(
ctxt
->
value
->
type
!=
XPATH_STRING
))
xmlXPathStringFunction
(
ctxt
,
1
);
decimalObj
=
valuePop
(
ctxt
);
ncname
=
xsltSplitQName
(
sheet
->
dict
,
decimalObj
->
stringval
,
&
prefix
);
if
(
prefix
!=
NULL
)
{
...
...
@@ -634,13 +635,16 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
}
/* Intentional fall-through */
case
2
:
CAST_TO_STRING
;
if
((
ctxt
->
value
!=
NULL
)
&&
(
ctxt
->
value
->
type
!=
XPATH_STRING
))
xmlXPathStringFunction
(
ctxt
,
1
);
formatObj
=
valuePop
(
ctxt
);
CAST_TO_NUMBER
;
if
((
ctxt
->
value
!=
NULL
)
&&
(
ctxt
->
value
->
type
!=
XPATH_NUMBER
))
xmlXPathNumberFunction
(
ctxt
,
1
);
numberObj
=
valuePop
(
ctxt
);
break
;
default
:
XP_ERROR
(
XPATH_INVALID_ARITY
);
xmlXPathErr
(
ctxt
,
XPATH_INVALID_ARITY
);
return
;
}
if
(
formatValues
!=
NULL
)
{
...
...
libs/xslt/libxslt/keys.c
View file @
162acdae
...
...
@@ -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
]
!=
'|'
))
{
...
...
libs/xslt/libxslt/numbers.c
View file @
162acdae
...
...
@@ -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
;
...
...
libs/xslt/libxslt/pattern.c
View file @
162acdae
...
...
@@ -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
{
...
...
@@ -1264,7 +1264,6 @@ xsltScanLiteral(xsltParserContextPtr ctxt) {
cur
+=
len
;
CUR_PTR
=
cur
;
}
else
{
/* XP_ERROR(XPATH_START_LITERAL_ERROR); */
ctxt
->
error
=
1
;
return
(
NULL
);
}
...
...
@@ -1290,14 +1289,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 +1853,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
;
...
...
libs/xslt/libxslt/transform.c
View file @
162acdae
...
...
@@ -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
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment