mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-08-01 10:06:59 +03:00
Alexey Efimov pointed out that concat('a', 'b', ) should raise a syntax
* xpath.c: Alexey Efimov pointed out that concat('a', 'b', ) should raise a syntax error Daniel
This commit is contained in:
26
xpath.c
26
xpath.c
@ -7617,19 +7617,21 @@ xmlXPathCompFunctionCall(xmlXPathParserContextPtr ctxt) {
|
||||
SKIP_BLANKS;
|
||||
|
||||
ctxt->comp->last = -1;
|
||||
while (CUR != ')') {
|
||||
int op1 = ctxt->comp->last;
|
||||
ctxt->comp->last = -1;
|
||||
xmlXPathCompileExpr(ctxt);
|
||||
CHECK_ERROR;
|
||||
PUSH_BINARY_EXPR(XPATH_OP_ARG, op1, ctxt->comp->last, 0, 0);
|
||||
nbargs++;
|
||||
if (CUR == ')') break;
|
||||
if (CUR != ',') {
|
||||
XP_ERROR(XPATH_EXPR_ERROR);
|
||||
if (CUR != ')') {
|
||||
while (CUR != 0) {
|
||||
int op1 = ctxt->comp->last;
|
||||
ctxt->comp->last = -1;
|
||||
xmlXPathCompileExpr(ctxt);
|
||||
CHECK_ERROR;
|
||||
PUSH_BINARY_EXPR(XPATH_OP_ARG, op1, ctxt->comp->last, 0, 0);
|
||||
nbargs++;
|
||||
if (CUR == ')') break;
|
||||
if (CUR != ',') {
|
||||
XP_ERROR(XPATH_EXPR_ERROR);
|
||||
}
|
||||
NEXT;
|
||||
SKIP_BLANKS;
|
||||
}
|
||||
NEXT;
|
||||
SKIP_BLANKS;
|
||||
}
|
||||
PUSH_LONG_EXPR(XPATH_OP_FUNCTION, nbargs, 0, 0,
|
||||
name, prefix);
|
||||
|
Reference in New Issue
Block a user