| 8760 | } |
| 8761 | |
| 8762 | const char_t* alloc_string(const xpath_lexer_string& value) |
| 8763 | { |
| 8764 | if (value.begin) |
| 8765 | { |
| 8766 | size_t length = static_cast<size_t>(value.end - value.begin); |
| 8767 | |
| 8768 | char_t* c = static_cast<char_t*>(_alloc->allocate_nothrow((length + 1) * sizeof(char_t))); |
| 8769 | if (!c) throw_error_oom(); |
| 8770 | |
| 8771 | memcpy(c, value.begin, length * sizeof(char_t)); |
| 8772 | c[length] = 0; |
| 8773 | |
| 8774 | return c; |
| 8775 | } |
| 8776 | else return 0; |
| 8777 | } |
| 8778 | |
| 8779 | xpath_ast_node* parse_function_helper(ast_type_t type0, ast_type_t type1, size_t argc, xpath_ast_node* args[2]) |
| 8780 | { |
nothing calls this directly
no test coverage detected