Re: [libxml++] external entities substitution - libxml++ crashes



Hi Igor,

Igor L. Smolovski wrote:

Thing is I did not instantiate any libxml++ object in my program. The
only umbelical cord that connects me to libxml++ in my program is the
following line (apart from the actual call to my function):

#include <libxml++/libxml++.h>
You also link to libxml++.so, which statically instanciate a class of type Document::Init (cf document.(h|cc) ). In it's constructor it register the callbacks.

BTW, I realised the problems we encounter with static instanciation and compiler other than gcc can be solver using the nifty counter idiom. I'm tempted to do it for next stable release, although I'll have to make sure it does not break ABI.

Am I correct in saying that somewhere in the header files included via
libxml++.h a libxml++ object, which registers itself to libxml2, is actually instantiated?
(If yes, could you possibly direct me to that header file and object?)
I've always thought that libxml++ becomes directly involved only when I actually instantiate an object
in my program, for instance xmlpp::DocParser, etc.
Just linking to libxml++ is enough.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]