| 621 | } |
| 622 | |
| 623 | bool |
| 624 | EsiParser::parse(DocNodeList &node_list, const char *ext_data_ptr, int data_len /* = -1 */) const |
| 625 | { |
| 626 | string data; |
| 627 | size_t orig_output_list_size; |
| 628 | int parse_start_pos = -1; |
| 629 | bool retval = _completeParse(data, parse_start_pos, orig_output_list_size, node_list, ext_data_ptr, data_len); |
| 630 | if (retval && (node_list.size() - orig_output_list_size)) { |
| 631 | // adjust all pointers to addresses in input parameter |
| 632 | const char *int_data_start = data.data(); |
| 633 | DocNodeList::iterator node_iter = node_list.begin(); |
| 634 | for (size_t i = 0; i < orig_output_list_size; ++i, ++node_iter) { |
| 635 | ; |
| 636 | } |
| 637 | _adjustPointers(node_iter, node_list.end(), ext_data_ptr, int_data_start); |
| 638 | } |
| 639 | return retval; |
| 640 | } |
no test coverage detected