comparison src/http/modules/ngx_http_xslt_filter_module.c @ 518:4b0d7f0bf22b NGINX_0_8_6

nginx 0.8.6 *) Feature: the ngx_http_geoip_module. *) Bugfix: XSLT filter may fail with message "not well formed XML document" for valid XML document. Thanks to Kuramoto Eiji. *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a regular expression are always tested in case insensitive mode; *) Bugfix: now nginx/Windows ignores trailing dots in URI. Thanks to Hugo Leisink. *) Bugfix: name of file specified in --conf-path was not honored during installation; the bug had appeared in 0.6.6. Thanks to Maxim Dounin.
author Igor Sysoev <http://sysoev.ru>
date Mon, 20 Jul 2009 00:00:00 +0400
parents f39b9e29530d
children 24b676623d4f
comparison
equal deleted inserted replaced
516:0001f4fa0501 518:4b0d7f0bf22b
192 NULL, /* init master */ 192 NULL, /* init master */
193 NULL, /* init module */ 193 NULL, /* init module */
194 NULL, /* init process */ 194 NULL, /* init process */
195 NULL, /* init thread */ 195 NULL, /* init thread */
196 NULL, /* exit thread */ 196 NULL, /* exit thread */
197 ngx_http_xslt_filter_exit, /* exit process */ 197 ngx_http_xslt_filter_exit, /* exit process */
198 ngx_http_xslt_filter_exit, /* exit master */ 198 ngx_http_xslt_filter_exit, /* exit master */
199 NGX_MODULE_V1_PADDING 199 NGX_MODULE_V1_PADDING
200 }; 200 };
201 201
202 202
245 245
246 246
247 static ngx_int_t 247 static ngx_int_t
248 ngx_http_xslt_body_filter(ngx_http_request_t *r, ngx_chain_t *in) 248 ngx_http_xslt_body_filter(ngx_http_request_t *r, ngx_chain_t *in)
249 { 249 {
250 int wellFormed;
250 ngx_chain_t *cl; 251 ngx_chain_t *cl;
251 ngx_http_xslt_filter_ctx_t *ctx; 252 ngx_http_xslt_filter_ctx_t *ctx;
252 253
253 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, 254 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
254 "xslt filter body"); 255 "xslt filter body");
286 287
287 #if (NGX_HTTP_XSLT_REUSE_DTD) 288 #if (NGX_HTTP_XSLT_REUSE_DTD)
288 ctx->doc->extSubset = NULL; 289 ctx->doc->extSubset = NULL;
289 #endif 290 #endif
290 291
292 wellFormed = ctx->ctxt->wellFormed;
293
291 xmlFreeParserCtxt(ctx->ctxt); 294 xmlFreeParserCtxt(ctx->ctxt);
292 295
293 if (ctx->ctxt->wellFormed) { 296 if (wellFormed) {
294 return ngx_http_xslt_send(r, ctx, 297 return ngx_http_xslt_send(r, ctx,
295 ngx_http_xslt_apply_stylesheet(r, ctx)); 298 ngx_http_xslt_apply_stylesheet(r, ctx));
296 } 299 }
297 300
298 xmlFreeDoc(ctx->doc); 301 xmlFreeDoc(ctx->doc);