From: Michael Wallner Date: Fri, 22 Jul 2005 09:43:30 +0000 (+0000) Subject: - fix stream handling X-Git-Tag: RELEASE_0_10_0~24 X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=commitdiff_plain;h=05fd3f5b6e302959111b33ea8b259d7ee5e97438 - fix stream handling --- diff --git a/http_response_object.c b/http_response_object.c index a172c5d..1f2b580 100644 --- a/http_response_object.c +++ b/http_response_object.c @@ -511,6 +511,7 @@ PHP_METHOD(HttpResponse, setStream) if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &the_stream)) { RETURN_FALSE; } + zend_list_addref(Z_LVAL_P(the_stream)); php_stream_from_zval(the_real_stream, &the_stream); USE_STATIC_PROP(); @@ -591,6 +592,9 @@ PHP_METHOD(HttpResponse, send) if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &clean_ob)) { RETURN_FALSE; } + if (SG(headers_sent)) { + RETURN_FALSE; + } if (clean_ob) { /* interrupt on-the-fly etag generation */ @@ -669,6 +673,7 @@ PHP_METHOD(HttpResponse, send) { php_stream *the_real_stream; zval *the_stream = GET_STATIC_PROP(stream); + the_stream->type = IS_RESOURCE; php_stream_from_zval(the_real_stream, &the_stream); RETURN_SUCCESS(http_send_stream(the_real_stream)); }