c_tail = _textNodeOrSkip(c_tail)
while c_tail is not NULL:
c_next = _textNodeOrSkip(c_tail.next)
- tree.xmlUnlinkNode(c_tail)
- tree.xmlAddNextSibling(c_target, c_tail)
- c_target = c_tail
+ c_target = tree.xmlAddNextSibling(c_target, c_tail)
c_tail = c_next
cdef int _copyTail(xmlNode* c_tail, xmlNode* c_target) except -1:
c_new_tail = tree.xmlCopyNode(c_tail, 0)
if c_new_tail is NULL:
python.PyErr_NoMemory()
- tree.xmlAddNextSibling(c_target, c_new_tail)
- c_target = c_new_tail
+ c_target = tree.xmlAddNextSibling(c_target, c_new_tail)
c_tail = _textNodeOrSkip(c_tail.next)
return 0
s += 1
return is_non_ascii
+cdef inline object funicodeOrNone(char* s):
+ return funicode(s) if s is not NULL else None
+
+cdef inline object funicodeOrEmpty(char* s):
+ return funicode(s) if s is not NULL else ''
+
cdef object funicode(char* s):
cdef Py_ssize_t slen
cdef char* spos