location[0] = '\0';
+ if (!header_init && FAILURE == zend_hash_find(EG(active_symbol_table),
+ "http_response_header", sizeof("http_response_header"), (void **) &response_header)) {
+ header_init = 1;
+ }
+
if (header_init) {
zval *tmp;
MAKE_STD_ZVAL(tmp);
array_init(tmp);
ZEND_SET_SYMBOL(EG(active_symbol_table), "http_response_header", tmp);
+
+ zend_hash_find(EG(active_symbol_table),
+ "http_response_header", sizeof("http_response_header"), (void **) &response_header);
}
- zend_hash_find(EG(active_symbol_table), "http_response_header", sizeof("http_response_header"), (void **) &response_header);
if (!php_stream_eof(stream)) {
/* get response header */
int response_code;
MAKE_STD_ZVAL(http_response);
+ ZVAL_NULL(http_response);
+
response_code = atoi(tmp_line + 9);
switch(response_code) {
case 200:
int http_header_line_length;
http_header_line[HTTP_HEADER_BLOCK_SIZE-1] = '\0';
+
p = http_header_line;
while(*p) {
while(*p == '\n' || *p == '\r') {
if (stream) {
if (header_init) {
stream->wrapperdata = *response_header;
+ zval_add_ref(response_header);
}
php_stream_notify_progress_init(context, 0, file_size);
/* Restore original chunk size now that we're done with headers */