summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2008-12-02 21:36:54 (UTC)
committer Michael Krelin <hacker@klever.net>2008-12-02 21:36:54 (UTC)
commita2a524f744849e81ec91a7afbaf641d1b57e14b1 (patch) (side-by-side diff)
treed023154d9485179fdd3001d5816a0ebec05e5d5c
parent47bf5ab634dc5cc3bd5d71894b2d6681f7a83024 (diff)
downloadlibopkele-a2a524f744849e81ec91a7afbaf641d1b57e14b1.zip
libopkele-a2a524f744849e81ec91a7afbaf641d1b57e14b1.tar.gz
libopkele-a2a524f744849e81ec91a7afbaf641d1b57e14b1.tar.bz2
added passthrough unknown encoding handler to discovery parser
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--lib/discovery.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/discovery.cc b/lib/discovery.cc
index bd1f917..cbdceb3 100644
--- a/lib/discovery.cc
+++ b/lib/discovery.cc
@@ -280,12 +280,13 @@ namespace opkele {
}
void prepare_to_parse() {
(*(expat_t*)this) = parser_create_ns();
set_user_data(); set_element_handler();
set_character_data_handler();
+ set_unknown_encoding_handler();
if(xmode&xmode_html) {
html_openid1.clear(); html_openid2.clear();
parser_choked = false;
}
@@ -566,12 +567,19 @@ namespace opkele {
}
}
}
}
}
+ int unknown_encoding(const XML_Char *n,XML_Encoding *i) {
+ for(int ii=0;ii < sizeof(i->map)/sizeof(i->map[0]);++ii)
+ i->map[ii] = ii;
+ i->convert = 0; i->release = 0;
+ return XML_STATUS_OK;
+ }
+
};
string idiscover(endpoint_discovery_iterator oi,const string& identity) {
idigger_t idigger;
return idigger.discover(oi,identity);
}