handOver2/dist/HandoverSystem/_internal/selectolax/lexbor/node_remove.pxi

30 lines
760 B
Cython

cdef lxb_dom_node_t * node_remove_deep(lxb_dom_node_t* root):
cdef lxb_dom_node_t *tmp
cdef lxb_dom_node_t *node = root
while node != NULL:
if node.first_child != NULL:
node = node.first_child
else:
while node != root and node.next == NULL:
tmp = node.parent
lxb_dom_node_remove(node)
node = tmp
if node == root:
lxb_dom_node_remove(node)
break
tmp = node.next
lxb_dom_node_remove(node)
node = tmp
return NULL
cdef bint node_is_removed(lxb_dom_node_t* node):
if node.parent == NULL and node.next == NULL \
and node.prev == NULL:
return 1
return 0