static php_stream_wrapper_ops ftp_stream_wops = {
php_stream_url_wrap_ftp,
- NULL,
+ NULL, /* stream_close */
php_stream_ftp_stream_stat,
- NULL
+ NULL, /* stat_url */
+ NULL /* opendir */
};
php_stream_wrapper php_stream_ftp_wrapper = {
size_t file_size = 0;
if (strchr(mode, 'a') || strchr(mode, '+')) {
- php_stream_wrapper_log_error(wrapper, options, "FTP does not support simultaneous read/write connections.");
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "FTP does not support simultaneous read/write connections.");
return NULL;
}
php_stream_close(stream);
}
if (tmp_line[0] != '\0')
- php_stream_wrapper_log_error(wrapper, options, "FTP server reports %s", tmp_line);
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "FTP server reports %s", tmp_line);
return NULL;
}
/* }}} */
size_t chunk_size = 0, file_size = 0;
if (strchr(mode, 'a') || strchr(mode, '+') || strchr(mode, 'w')) {
- php_stream_wrapper_log_error(wrapper, options, "HTTP wrapper does not writeable connections.");
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "HTTP wrapper does not writeable connections.");
return NULL;
}
#if HAVE_OPENSSL_EXT
if (use_ssl) {
if (php_stream_sock_ssl_activate(stream, 1) == FAILURE) {
- php_stream_wrapper_log_error(wrapper, options, "Unable to activate SSL mode");
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Unable to activate SSL mode");
php_stream_close(stream);
stream = NULL;
goto out;
FREE_ZVAL(stream->wrapperdata);
}
} else {
- php_stream_wrapper_log_error(wrapper, options, "HTTP request failed! %s", tmp_line);
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "HTTP request failed! %s", tmp_line);
}
}
out:
static php_stream_wrapper_ops http_stream_wops = {
php_stream_url_wrap_http,
- NULL,
+ NULL, /* stream_close */
php_stream_http_stream_stat,
- NULL
+ NULL, /* stat_url */
+ NULL /* opendir */
};
php_stream_wrapper php_stream_http_wrapper = {
# define php_stream_to_zval(stream, zval) { ZVAL_RESOURCE(zval, (stream)->rsrc_id); }
#endif
+#define php_stream_from_zval(stream, ppzval) ZEND_FETCH_RESOURCE((stream), php_stream *, (ppzval), -1, "stream", php_file_le_stream())
+
#define PHP_STREAM_FREE_CALL_DTOR 1 /* call ops->close */
#define PHP_STREAM_FREE_RELEASE_STREAM 2 /* pefree(stream) */
#define PHP_STREAM_FREE_PRESERVE_HANDLE 4 /* tell ops->close to not close it's underlying handle */