2013-09-06 2 views
1

Например:Можете ли вы освободить буфер, который вы передаете, в xmlParseDoc()?

xmlDocPtr parseDoc() { 
    buf = malloc(12); 
    strncpy(buf, "<document/>", 12); 
    xmlDocPtr doc = xmlParseDoc(buf); 
    free(buf); /*** is this safe? ***/ 
    return doc; 
} 

documentation немного расплывчатым и не ясно, содержит ли полученное дерево всю информацию из исходного буфера или нужно ли буфер оставаться в силе.

ответ

1

Да, вы можете освободить буфер после разбора. Я также рекомендовал бы использовать xmlReadMemory для анализа документов в памяти. У этого есть некоторые полезные варианты.

Смежные вопросы