summaryrefslogtreecommitdiff
path: root/main/streams/streams.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/streams/streams.c')
-rw-r--r--main/streams/streams.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/main/streams/streams.c b/main/streams/streams.c
index 7821c44c2e..16149fbc92 100644
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -2015,13 +2015,13 @@ PHPAPI php_stream_dirent *_php_stream_readdir(php_stream *dirstream, php_stream_
/* {{{ php_stream_open_wrapper_ex */
PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mode, int options,
- char **opened_path, php_stream_context *context STREAMS_DC)
+ zend_string **opened_path, php_stream_context *context STREAMS_DC)
{
php_stream *stream = NULL;
php_stream_wrapper *wrapper = NULL;
const char *path_to_open;
int persistent = options & STREAM_OPEN_PERSISTENT;
- char *resolved_path = NULL;
+ zend_string *resolved_path = NULL;
char *copy_of_path = NULL;
if (opened_path) {
@@ -2036,7 +2036,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod
if (options & USE_PATH) {
resolved_path = zend_resolve_path(path, (int)strlen(path));
if (resolved_path) {
- path = resolved_path;
+ path = resolved_path->val;
/* we've found this file, don't re-check include_path or run realpath */
options |= STREAM_ASSUME_REALPATH;
options &= ~USE_PATH;
@@ -2049,7 +2049,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod
if (options & STREAM_USE_URL && (!wrapper || !wrapper->is_url)) {
php_error_docref(NULL, E_WARNING, "This function may only be used against URLs");
if (resolved_path) {
- efree(resolved_path);
+ zend_string_release(resolved_path);
}
return NULL;
}
@@ -2102,7 +2102,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod
? PHP_STREAM_PREFER_STDIO : PHP_STREAM_NO_PREFERENCE)) {
case PHP_STREAM_UNCHANGED:
if (resolved_path) {
- efree(resolved_path);
+ zend_string_release(resolved_path);
}
return stream;
case PHP_STREAM_RELEASED:
@@ -2111,7 +2111,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod
}
newstream->orig_path = pestrdup(path, persistent);
if (resolved_path) {
- efree(resolved_path);
+ zend_string_release(resolved_path);
}
return newstream;
default:
@@ -2141,7 +2141,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod
if (stream == NULL && (options & REPORT_ERRORS)) {
php_stream_display_wrapper_errors(wrapper, path, "failed to open stream");
if (opened_path && *opened_path) {
- efree(*opened_path);
+ zend_string_release(*opened_path);
*opened_path = NULL;
}
}
@@ -2152,7 +2152,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod
}
#endif
if (resolved_path) {
- efree(resolved_path);
+ zend_string_release(resolved_path);
}
return stream;
}