以下をコメントアウト。
余計な処理を省いてfree()したらメモリーリークが収まる。
//一つ前のNODE以下の子、その下の親を削除する。
char str2[BUFF_SIZE]; str2[0] = '\0';
char buff[BUFF_SIZE]; buff[0] = '\0';
// if(n->child_bottom != 0){
if(n->child_cnt > 1){
NODE *j;
sprintf(str2, "%s%d", n->node, n->child_cnt - 1);
// sprintf(buff, "chnode() str2=%s\n", str2);list_lbuff_set(buff);
j = srnode(str2);
if( j != NULL && j != n){
// sprintf(buff, "chnode() str2=%s j=%s\n", str2, j->node);list_lbuff_set(buff);
//消さない場合
delnode(j,n);
}
}
PR