diff --git a/ext/standard/tests/filters/bug81475.phpt b/ext/standard/tests/filters/bug81475.phpt new file mode 100644 index 0000000000000..253d5a75ea792 --- /dev/null +++ b/ext/standard/tests/filters/bug81475.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #81475 (stream_isatty emits warning with attached stream wrapper) +--FILE-- + +--EXPECT-- +bool(false) diff --git a/main/streams/cast.c b/main/streams/cast.c index 73421a75880c8..2109239effa4e 100644 --- a/main/streams/cast.c +++ b/main/streams/cast.c @@ -295,7 +295,9 @@ PHPAPI int _php_stream_cast(php_stream *stream, int castas, void **ret, int show } if (php_stream_is_filtered(stream)) { - php_error_docref(NULL, E_WARNING, "cannot cast a filtered stream on this system"); + if (show_err) { + php_error_docref(NULL, E_WARNING, "cannot cast a filtered stream on this system"); + } return FAILURE; } else if (stream->ops->cast && stream->ops->cast(stream, castas, ret) == SUCCESS) { goto exit_success;