-rw-r--r-- | lib/discovery.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/discovery.cc b/lib/discovery.cc index a308b56..af9686a 100644 --- a/lib/discovery.cc +++ b/lib/discovery.cc | |||
@@ -148,53 +148,53 @@ namespace opkele { | |||
148 | xmode = xm; | 148 | xmode = xm; |
149 | prepare_to_parse(); | 149 | prepare_to_parse(); |
150 | if(xmode&xmode_html) { | 150 | if(xmode&xmode_html) { |
151 | xrds_location.clear(); | 151 | xrds_location.clear(); |
152 | save_html.clear(); | 152 | save_html.clear(); |
153 | save_html.reserve(max_html); | 153 | save_html.reserve(max_html); |
154 | } | 154 | } |
155 | xrd = &result.xrd; | 155 | xrd = &result.xrd; |
156 | 156 | ||
157 | r = easy_perform(); | 157 | r = easy_perform(); |
158 | if(r && r!=CURLE_WRITE_ERROR) | 158 | if(r && r!=CURLE_WRITE_ERROR) |
159 | throw exception_curl(OPKELE_CP_ "failed to perform curly request",r); | 159 | throw exception_curl(OPKELE_CP_ "failed to perform curly request",r); |
160 | 160 | ||
161 | if(!parser_choked) { | 161 | if(!parser_choked) { |
162 | parse(0,0,true); | 162 | parse(0,0,true); |
163 | }else{ | 163 | }else{ |
164 | /* TODO: do not bother if we've seen xml */ | 164 | /* TODO: do not bother if we've seen xml */ |
165 | try { | 165 | try { |
166 | util::tidy_doc_t td = util::tidy_doc_t::create(); | 166 | util::tidy_doc_t td = util::tidy_doc_t::create(); |
167 | if(!td) | 167 | if(!td) |
168 | throw exception_tidy(OPKELE_CP_ "failed to create htmltidy document"); | 168 | throw exception_tidy(OPKELE_CP_ "failed to create htmltidy document"); |
169 | #ifndef NDEBUG | 169 | #ifndef NDEBUG |
170 | td.opt_set(TidyQuiet,false); | 170 | td.opt_set(TidyQuiet,false); |
171 | td.opt_set(TidyShowWarnings,false); | 171 | td.opt_set(TidyShowWarnings,false); |
172 | #endif /* NDEBUG */ | ||
172 | td.opt_set(TidyForceOutput,true); | 173 | td.opt_set(TidyForceOutput,true); |
173 | td.opt_set(TidyXhtmlOut,true); | 174 | td.opt_set(TidyXhtmlOut,true); |
174 | td.opt_set(TidyDoctypeMode,TidyDoctypeOmit); | 175 | td.opt_set(TidyDoctypeMode,TidyDoctypeOmit); |
175 | td.opt_set(TidyMark,false); | 176 | td.opt_set(TidyMark,false); |
176 | #endif /* NDEBUG */ | ||
177 | if(td.parse_string(save_html)<=0) | 177 | if(td.parse_string(save_html)<=0) |
178 | throw exception_tidy(OPKELE_CP_ "tidy failed to parse document"); | 178 | throw exception_tidy(OPKELE_CP_ "tidy failed to parse document"); |
179 | if(td.clean_and_repair()<=0) | 179 | if(td.clean_and_repair()<=0) |
180 | throw exception_tidy(OPKELE_CP_ "tidy failed to clean and repair"); | 180 | throw exception_tidy(OPKELE_CP_ "tidy failed to clean and repair"); |
181 | util::tidy_buf_t tide; | 181 | util::tidy_buf_t tide; |
182 | if(td.save_buffer(tide)<=0) | 182 | if(td.save_buffer(tide)<=0) |
183 | throw exception_tidy(OPKELE_CP_ "tidy failed to save buffer"); | 183 | throw exception_tidy(OPKELE_CP_ "tidy failed to save buffer"); |
184 | prepare_to_parse(); | 184 | prepare_to_parse(); |
185 | parse(tide.c_str(),tide.size(),true); | 185 | parse(tide.c_str(),tide.size(),true); |
186 | }catch(exception_tidy& et) { } | 186 | }catch(exception_tidy& et) { } |
187 | } | 187 | } |
188 | save_html.clear(); | 188 | save_html.clear(); |
189 | } | 189 | } |
190 | 190 | ||
191 | void prepare_to_parse() { | 191 | void prepare_to_parse() { |
192 | (*(expat_t*)this) = parser_create_ns(); | 192 | (*(expat_t*)this) = parser_create_ns(); |
193 | set_user_data(); set_element_handler(); | 193 | set_user_data(); set_element_handler(); |
194 | set_character_data_handler(); | 194 | set_character_data_handler(); |
195 | 195 | ||
196 | if(xmode&xmode_html) { | 196 | if(xmode&xmode_html) { |
197 | html_openid1.clear(); html_openid2.clear(); | 197 | html_openid1.clear(); html_openid2.clear(); |
198 | parser_choked = false; | 198 | parser_choked = false; |
199 | } | 199 | } |
200 | 200 | ||