summaryrefslogtreecommitdiffabout
path: root/lib
authorMichael Krelin <hacker@klever.net>2008-12-02 21:35:21 (UTC)
committer Michael Krelin <hacker@klever.net>2008-12-02 21:35:21 (UTC)
commit47bf5ab634dc5cc3bd5d71894b2d6681f7a83024 (patch) (unidiff)
treebe3715dc65030eafd816ee3b50a192daf39df444 /lib
parenta07665e030a8f26f6cd77efc466507ed6381acc5 (diff)
downloadlibopkele-47bf5ab634dc5cc3bd5d71894b2d6681f7a83024.zip
libopkele-47bf5ab634dc5cc3bd5d71894b2d6681f7a83024.tar.gz
libopkele-47bf5ab634dc5cc3bd5d71894b2d6681f7a83024.tar.bz2
support for unknown encoding in expat wrapper
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'lib') (more/less context) (ignore whitespace changes)
-rw-r--r--lib/expat.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/expat.cc b/lib/expat.cc
index c4dab7e..fb58a9a 100644
--- a/lib/expat.cc
+++ b/lib/expat.cc
@@ -47,51 +47,60 @@ namespace opkele {
47 } 47 }
48 48
49 static void _comment(void *ud,const XML_Char *d) { 49 static void _comment(void *ud,const XML_Char *d) {
50 ((expat_t*)ud)->comment(d); 50 ((expat_t*)ud)->comment(d);
51 } 51 }
52 52
53 void expat_t::set_comment_handler() { 53 void expat_t::set_comment_handler() {
54 assert(_x); 54 assert(_x);
55 XML_SetCommentHandler(_x,_comment); 55 XML_SetCommentHandler(_x,_comment);
56 } 56 }
57 57
58 static void _start_cdata_section(void *ud) { 58 static void _start_cdata_section(void *ud) {
59 ((expat_t*)ud)->start_cdata_section(); 59 ((expat_t*)ud)->start_cdata_section();
60 } 60 }
61 static void _end_cdata_section(void *ud) { 61 static void _end_cdata_section(void *ud) {
62 ((expat_t*)ud)->end_cdata_section(); 62 ((expat_t*)ud)->end_cdata_section();
63 } 63 }
64 64
65 void expat_t::set_cdata_section_handler() { 65 void expat_t::set_cdata_section_handler() {
66 assert(_x); 66 assert(_x);
67 XML_SetCdataSectionHandler(_x,_start_cdata_section,_end_cdata_section); 67 XML_SetCdataSectionHandler(_x,_start_cdata_section,_end_cdata_section);
68 } 68 }
69 69
70 static void _default_handler(void *ud,const XML_Char *s,int l) { 70 static void _default_handler(void *ud,const XML_Char *s,int l) {
71 ((expat_t*)ud)->default_handler(s,l); 71 ((expat_t*)ud)->default_handler(s,l);
72 } 72 }
73 73
74 void expat_t::set_default_handler() { 74 void expat_t::set_default_handler() {
75 assert(_x); 75 assert(_x);
76 XML_SetDefaultHandler(_x,_default_handler); 76 XML_SetDefaultHandler(_x,_default_handler);
77 } 77 }
78 void expat_t::set_default_handler_expand() { 78 void expat_t::set_default_handler_expand() {
79 assert(_x); 79 assert(_x);
80 XML_SetDefaultHandlerExpand(_x,_default_handler); 80 XML_SetDefaultHandlerExpand(_x,_default_handler);
81 } 81 }
82 82
83 static void _start_namespace_decl(void *ud,const XML_Char *p,const XML_Char *u) { 83 static void _start_namespace_decl(void *ud,const XML_Char *p,const XML_Char *u) {
84 ((expat_t*)ud)->start_namespace_decl(p,u); 84 ((expat_t*)ud)->start_namespace_decl(p,u);
85 } 85 }
86 static void _end_namespace_decl(void *ud,const XML_Char *p) { 86 static void _end_namespace_decl(void *ud,const XML_Char *p) {
87 ((expat_t*)ud)->end_namespace_decl(p); 87 ((expat_t*)ud)->end_namespace_decl(p);
88 } 88 }
89 89
90 void expat_t::set_namespace_decl_handler() { 90 void expat_t::set_namespace_decl_handler() {
91 assert(_x); 91 assert(_x);
92 XML_SetNamespaceDeclHandler(_x,_start_namespace_decl,_end_namespace_decl); 92 XML_SetNamespaceDeclHandler(_x,_start_namespace_decl,_end_namespace_decl);
93 } 93 }
94 94
95 static int _unknown_encoding(void *ehd,const XML_Char *n,XML_Encoding *i) {
96 return ((expat_t*)ehd)->unknown_encoding(n,i);
97 }
98
99 void expat_t::set_unknown_encoding_handler() {
100 assert(_x);
101 XML_SetUnknownEncodingHandler(_x,_unknown_encoding,this);
102 }
103
95 } 104 }
96 105
97} 106}