libidav/davqlparser.c

changeset 374
38ae05d46f9a
parent 365
f04ab0420512
child 747
efbd59642577
equal deleted inserted replaced
373:dcc03142eb5f 374:38ae05d46f9a
1401 1401
1402 if (consumed) { 1402 if (consumed) {
1403 if (depthexpr->type == DAVQL_NUMBER) { 1403 if (depthexpr->type == DAVQL_NUMBER) {
1404 if (depthexpr->srctext.ptr[0] == '%') { 1404 if (depthexpr->srctext.ptr[0] == '%') {
1405 stmt->depth = DAV_DEPTH_PLACEHOLDER; 1405 stmt->depth = DAV_DEPTH_PLACEHOLDER;
1406 stmt->args = ucx_list_append(
1407 stmt->args,
1408 (void*)(intptr_t)depthexpr->srctext.ptr[1]);
1409 } else { 1406 } else {
1410 sstr_t depthstr = depthexpr->srctext; 1407 sstr_t depthstr = depthexpr->srctext;
1411 char *conv = malloc(depthstr.length+1); 1408 char *conv = malloc(depthstr.length+1);
1412 if (!conv) { 1409 if (!conv) {
1413 dav_free_expression(depthexpr); 1410 dav_free_expression(depthexpr);
1621 // Consume path 1618 // Consume path
1622 tokens = ucx_list_get(tokens, dav_parse_path(stmt, tokens)); 1619 tokens = ucx_list_get(tokens, dav_parse_path(stmt, tokens));
1623 if (stmt->errorcode) { 1620 if (stmt->errorcode) {
1624 return; 1621 return;
1625 } 1622 }
1626 dav_add_fmt_args(stmt, stmt->path); // add possible path args 1623 //dav_add_fmt_args(stmt, stmt->path); // add possible path args
1627 1624
1628 // Consume with clause (if any) 1625 // Consume with clause (if any)
1629 if (token_is(tokens, DAVQL_TOKEN_KEYWORD) 1626 if (token_is(tokens, DAVQL_TOKEN_KEYWORD)
1630 && tokenvalue_is(tokens, "with")) { 1627 && tokenvalue_is(tokens, "with")) {
1631 tokens = tokens->next; 1628 tokens = tokens->next;

mercurial