summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Parser/ExpatParser.cpp')
-rw-r--r--Swiften/Parser/ExpatParser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Swiften/Parser/ExpatParser.cpp b/Swiften/Parser/ExpatParser.cpp
index e4e66f2..a50949b 100644
--- a/Swiften/Parser/ExpatParser.cpp
+++ b/Swiften/Parser/ExpatParser.cpp
@@ -64,6 +64,10 @@ static void handleCharacterData(void* parser, const XML_Char* data, int len) {
64static void handleXMLDeclaration(void*, const XML_Char*, const XML_Char*, int) { 64static void handleXMLDeclaration(void*, const XML_Char*, const XML_Char*, int) {
65} 65}
66 66
67static void handleNamespaceDeclaration(void* parser, const XML_Char* prefix, const XML_Char* uri) {
68 static_cast<XMLParser*>(parser)->getClient()->handleNamespaceDeclaration(std::string(prefix ? prefix : ""), std::string(uri ? uri : ""));
69}
70
67static void handleEntityDeclaration(void* parser, const XML_Char*, int, const XML_Char*, int, const XML_Char*, const XML_Char*, const XML_Char*, const XML_Char*) { 71static void handleEntityDeclaration(void* parser, const XML_Char*, int, const XML_Char*, int, const XML_Char*, const XML_Char*, const XML_Char*, const XML_Char*) {
68 static_cast<ExpatParser*>(parser)->stopParser(); 72 static_cast<ExpatParser*>(parser)->stopParser();
69} 73}
@@ -76,6 +80,7 @@ ExpatParser::ExpatParser(XMLParserClient* client) : XMLParser(client), p(new Pri
76 XML_SetCharacterDataHandler(p->parser_, handleCharacterData); 80 XML_SetCharacterDataHandler(p->parser_, handleCharacterData);
77 XML_SetXmlDeclHandler(p->parser_, handleXMLDeclaration); 81 XML_SetXmlDeclHandler(p->parser_, handleXMLDeclaration);
78 XML_SetEntityDeclHandler(p->parser_, handleEntityDeclaration); 82 XML_SetEntityDeclHandler(p->parser_, handleEntityDeclaration);
83 XML_SetNamespaceDeclHandler(p->parser_, handleNamespaceDeclaration, nullptr);
79} 84}
80 85
81ExpatParser::~ExpatParser() { 86ExpatParser::~ExpatParser() {