summaryrefslogtreecommitdiff
path: root/main/php_streams.h
diff options
context:
space:
mode:
Diffstat (limited to 'main/php_streams.h')
-rwxr-xr-xmain/php_streams.h6
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, ...);