summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSara Golemon <pollita@php.net>2003-04-17 00:00:34 +0000
committerSara Golemon <pollita@php.net>2003-04-17 00:00:34 +0000
commit0c366c24e5d21ebd375d295b27ffebc6636497f7 (patch)
tree8e4ad064673d460f31c7b6a66480267049e67d33
parentf7d72d178d9fc7a5774030924238cb881ac31948 (diff)
downloadphp-git-0c366c24e5d21ebd375d295b27ffebc6636497f7.tar.gz
Macro: php_stream_get_from_zval(php_stream *stream, zval **zstream, char *mode, int options, char **opened_path, php_stream_context *context) Z_TYPE_PP(zstream) can be either IS_RESOURCE (An already opened stream) or IS_STRING (a path to a stream to be opened)
-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, ...);