I find this to be a great utility library. It parses XML quickly and intergrated well into applications. For use in an application that stays running we did need to make a change to free memory allocated, as there were some malloc()/calloc() calls that weren't calling free() for their memory pointers, and the strdup() calls weren't calling free(). Prior to adding this code the library had sigificant memory leaks over time used in a program that stays running, but after the changes it was fine. If used in a program that runs, then exits, the changes to call free() aren't needed.