| 439 | } |
| 440 | |
| 441 | bool |
| 442 | EsiParser::_processSpecialIncludeTag(const string &data, size_t curr_pos, size_t end_pos, DocNodeList &node_list) const |
| 443 | { |
| 444 | Attribute handler_info; |
| 445 | if (!Utils::getAttribute(data, HANDLER_ATTR_STR, curr_pos, end_pos, handler_info)) { |
| 446 | TSError("[%s] Could not find handler attribute", __FUNCTION__); |
| 447 | return false; |
| 448 | } |
| 449 | node_list.push_back(DocNode(DocNode::TYPE_SPECIAL_INCLUDE)); |
| 450 | DocNode &node = node_list.back(); |
| 451 | node.attr_list.push_back(handler_info); |
| 452 | node.data = data.data() + curr_pos; |
| 453 | node.data_len = end_pos - curr_pos; |
| 454 | Dbg(dbg_ctl, "[%s] Added special include tag with handler [%.*s] and data [%.*s]", __FUNCTION__, handler_info.value_len, |
| 455 | handler_info.value, node.data_len, node.data); |
| 456 | return true; |
| 457 | } |
| 458 | |
| 459 | inline bool |
| 460 | EsiParser::_isWhitespace(const char *data, int data_len) const |
nothing calls this directly
no test coverage detected