The error count wasn't be increased if tracing was disabled. eg CI.
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
The error count wasn't be increased if tracing was disabled. eg CI.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55720 --- dlls/msxml3/xslpattern.y | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/msxml3/xslpattern.y b/dlls/msxml3/xslpattern.y index 9abf43cad35..b308c3150b0 100644 --- a/dlls/msxml3/xslpattern.y +++ b/dlls/msxml3/xslpattern.y @@ -40,6 +40,7 @@ static inline BOOL is_literal(xmlChar const* tok)
static void xslpattern_error(parser_param* param, void const* scanner, char const* msg) { + param->err++; FIXME("%s:\n" " param {\n" " yyscanner=%p\n" @@ -52,7 +53,7 @@ static void xslpattern_error(parser_param* param, void const* scanner, char cons " }\n" " scanner=%p\n", msg, param->yyscanner, param->ctx, param->in, param->pos, - param->len, param->out, ++param->err, scanner); + param->len, param->out, param->err, scanner); }
%}
I don't understand what this field is used for, if not for traces?
The function XSLPattern_to_XPath (xslpattern.l) use it "if (p.err)" to workout if an error has occurred. When its part of the FIXME, p.err is never increased and thus returns a partially parse token instead of the original when an error occurs.
On Fri Oct 20 12:36:38 2023 +0000, Alistair Leslie-Hughes wrote:
The function XSLPattern_to_XPath (xslpattern.l) use it "if (p.err)" to workout if an error has occurred. When its part of the FIXME, p.err is never increased and thus returns a partially parse token instead of the original when an error occurs.
Thanks, I see now that it fails if I run it with WINEDEBUG=-all.
Please fix up commit subject, right now it looks malformed, or maybe truncated.