diff options
Diffstat (limited to 'main/php_streams.h')
-rwxr-xr-x | main/php_streams.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/main/php_streams.h b/main/php_streams.h index 21d53976a8..9d06932aab 100755 --- a/main/php_streams.h +++ b/main/php_streams.h @@ -456,6 +456,12 @@ PHPAPI char *php_stream_locate_eol(php_stream *stream, char *buf, size_t buf_len #define php_stream_open_wrapper(path, mode, options, opened) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), NULL STREAMS_CC TSRMLS_CC) #define php_stream_open_wrapper_ex(path, mode, options, opened, context) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), (context) STREAMS_CC TSRMLS_CC) +#define php_stream_get_from_zval(stream, zstream, mode, options, opened, context) \ + if (Z_TYPE_PP((zstream)) == IS_RESOURCE) { \ + php_stream_from_zval((stream), (zstream)); \ + } else (stream) = Z_TYPE_PP((zstream)) == IS_STRING ? \ + php_stream_open_wrapper_ex(Z_STRVAL_PP((zstream)), (mode), (options), (opened), (context)) : NULL + /* pushes an error message onto the stack for a wrapper instance */ PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const char *fmt, ...); |