Освобождение указателей xmlChar после xmlTextReaderGetAttribute ()

Я уже успешно использовал xmlTextReaderGetAttribute (из xmlsoft.org )), но документация API требует, чтобы я освободил вернул xmlChar * . Теперь мое приложение вылетает при втором (первый передает null) вызове free () , как показано ниже:

xmlTextReaderPtr reader = null;
xmlChar *attribVal = null;
//blah...
if (xmlTextReaderAttributeCount(reader) > 0) {
    free((attribVal));

attribVal = xmlTextReaderGetAttribute(reader, (const xmlChar*)"super-Attrib");
if (xmlStrcasecmp(attribVal, (const xmlChar*)"monoMega-Attrib") == 0) {
    free((attribVal));

мой проект находится на C ++, но libxml2 и все примеры из xmlsoft.org используют стандарт C.

0
задан John 8 December 2011 в 21:26
поделиться