소스 검색

Fixed setContent not removing all existing child nodes. (#35)

Brucey 9 달 전
부모
커밋
f4af7944cb
1개의 변경된 파일4개의 추가작업 그리고 9개의 파일을 삭제
  1. 4 9
      xml.mod/glue.c

+ 4 - 9
xml.mod/glue.c

@@ -174,16 +174,11 @@ int bmx_mxmlSaveStdout(mxml_node_t * node, int format) {
 void bmx_mxmlSetContent(mxml_node_t * node, BBString * content) {
 	mxml_node_t * child = mxmlGetFirstChild(node);
 	while (child != NULL) {
-		mxml_node_t * txt = NULL;
-		if (mxmlGetType(child) == MXML_TEXT) {
-			txt = child;
-		}
-		child = mxmlGetNextSibling(child);
-		if (txt) {
-			mxmlDelete(txt);
-		}
+		mxml_node_t * next = mxmlGetNextSibling(child);
+		mxmlDelete(child);
+		child = next;
 	}
-	char * c = bbStringToUTF8String(content);
+	char * c = (char*)bbStringToUTF8String(content);
 	mxmlNewText(node, 0, c);
 	bbMemFree(c);
 }