MCPcopy Create free account
hub / github.com/acl-dev/acl / xml_parse_right_lt

Function xml_parse_right_lt

lib_acl/src/xml/acl_xml2_parse.c:856–899  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

854}
855
856static const char *xml_parse_right_lt(ACL_XML2 *xml, const char *data)
857{
858 ACL_XML2_NODE *node;
859
860 SKIP_SPACE(data);
861 if (*data == 0)
862 return data;
863
864 if (*data == '/') { /* get: "</" */
865 data++;
866 xml->curr_node->status = ACL_XML2_S_RTAG;
867
868 return data;
869 } else if ((xml->curr_node->flag & ACL_XML2_F_LEAF)) {
870 /* XXX: some error ? */
871 if (NO_SPACE(xml))
872 return data;
873 ADD(xml, '<');
874 if (NO_SPACE(xml))
875 return data;
876 ADD(xml, *data);
877 data++;
878 xml->curr_node->status = ACL_XML2_S_TXT;
879
880 return data;
881 }
882
883 /* ˵�������˵�ǰ�ڵ���ӽڵ� */
884
885 /* �������õ�ǰ�ڵ�״̬���Ա����䱻�ӽڵ㵯��ʱ�����ҵ� "</" */
886 xml->curr_node->status = ACL_XML2_S_TXT;
887
888 /* �����µ��ӽڵ㣬�������������ǰ�ڵ���ӽڵ㼯���� */
889
890 node = acl_xml2_node_alloc(xml);
891 acl_xml2_node_add_child(xml->curr_node, node);
892 node->depth = xml->curr_node->depth + 1;
893 if (node->depth > xml->depth)
894 xml->depth = node->depth;
895 xml->curr_node = node;
896 xml->curr_node->status = ACL_XML2_S_LLT;
897
898 return data;
899}
900
901/* ��Ϊ�ø��ڵ���ʵΪҶ�ڵ㣬������Ҫ���¸����ڸ�α���ڵ��
902 * �ӽڵ�����ֵ����Ӧ���α���ڵ���ͬ

Callers

nothing calls this directly

Calls 2

acl_xml2_node_allocFunction · 0.85
acl_xml2_node_add_childFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…