Skip to content

Commit

Permalink
support for unknown encoding in expat wrapper
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Krelin <hacker@klever.net>
  • Loading branch information
hacker committed Dec 2, 2008
1 parent a07665e commit 47bf5ab
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
3 changes: 3 additions & 0 deletions include/opkele/expat.h
Expand Up @@ -26,6 +26,9 @@ namespace opkele {
return XML_Parse(_x,s,len,final); return XML_Parse(_x,s,len,final);
} }


virtual int unknown_encoding(const XML_Char * /* n */,XML_Encoding * /* i */) { return XML_STATUS_ERROR; }
void set_unknown_encoding_handler();

virtual void start_element(const XML_Char * /* n */,const XML_Char ** /* a */) { } virtual void start_element(const XML_Char * /* n */,const XML_Char ** /* a */) { }
virtual void end_element(const XML_Char * /* n */) { } virtual void end_element(const XML_Char * /* n */) { }
void set_element_handler(); void set_element_handler();
Expand Down
9 changes: 9 additions & 0 deletions lib/expat.cc
Expand Up @@ -92,6 +92,15 @@ namespace opkele {
XML_SetNamespaceDeclHandler(_x,_start_namespace_decl,_end_namespace_decl); XML_SetNamespaceDeclHandler(_x,_start_namespace_decl,_end_namespace_decl);
} }


static int _unknown_encoding(void *ehd,const XML_Char *n,XML_Encoding *i) {
return ((expat_t*)ehd)->unknown_encoding(n,i);
}

void expat_t::set_unknown_encoding_handler() {
assert(_x);
XML_SetUnknownEncodingHandler(_x,_unknown_encoding,this);
}

} }


} }

0 comments on commit 47bf5ab

Please sign in to comment.