author | Michael Krelin <hacker@klever.net> | 2008-12-02 21:35:21 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-12-02 21:35:21 (UTC) |
commit | 47bf5ab634dc5cc3bd5d71894b2d6681f7a83024 (patch) (unidiff) | |
tree | be3715dc65030eafd816ee3b50a192daf39df444 /lib | |
parent | a07665e030a8f26f6cd77efc466507ed6381acc5 (diff) | |
download | libopkele-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>
-rw-r--r-- | lib/expat.cc | 9 |
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 | } |