mirror of
https://github.com/php/php-src.git
synced 2025-08-18 06:58:55 +02:00
Preserve full name of filter for use in stream_get_meta_data()
This commit is contained in:
parent
0b84c73635
commit
d05836890b
3 changed files with 7 additions and 2 deletions
|
@ -470,7 +470,7 @@ PHP_FUNCTION(stream_get_meta_data)
|
|||
array_init(newval);
|
||||
|
||||
for (filter = stream->readfilters.head; filter != NULL; filter = filter->next) {
|
||||
add_next_index_string(newval, (char *)filter->fops->label, 1);
|
||||
add_next_index_string(newval, filter->name, 1);
|
||||
}
|
||||
|
||||
add_assoc_zval(return_value, "read_filters", newval);
|
||||
|
@ -483,7 +483,7 @@ PHP_FUNCTION(stream_get_meta_data)
|
|||
array_init(newval);
|
||||
|
||||
for (filter = stream->writefilters.head; filter != NULL; filter = filter->next) {
|
||||
add_next_index_string(newval, (char *)filter->fops->label, 1);
|
||||
add_next_index_string(newval, filter->name, 1);
|
||||
}
|
||||
|
||||
add_assoc_zval(return_value, "write_filters", newval);
|
||||
|
|
|
@ -343,6 +343,8 @@ PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval
|
|||
else
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to create or locate filter \"%s\"", filtername);
|
||||
}
|
||||
|
||||
filter->name = pestrdup(filtername, filter->is_persistent);
|
||||
|
||||
return filter;
|
||||
}
|
||||
|
@ -365,6 +367,7 @@ PHPAPI void php_stream_filter_free(php_stream_filter *filter TSRMLS_DC)
|
|||
{
|
||||
if (filter->fops->dtor)
|
||||
filter->fops->dtor(filter TSRMLS_CC);
|
||||
pefree(filter->name, filter->is_persistent);
|
||||
pefree(filter, filter->is_persistent);
|
||||
}
|
||||
|
||||
|
|
|
@ -145,6 +145,8 @@ struct _php_stream_filter {
|
|||
/* filters are auto_registered when they're applied */
|
||||
int rsrc_id;
|
||||
int flags;
|
||||
|
||||
char *name;
|
||||
};
|
||||
|
||||
/* stack filter onto a stream */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue