summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--ext/posix/posix.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 918a79b0b3..6940c69c88 100644
--- a/NEWS
+++ b/NEWS
@@ -148,6 +148,7 @@ PHP NEWS
- Fixed bug #50358 (Compile failure compiling ext/phar/util.lo). (Felipe)
- Fixed bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3).
(Dmitry)
+- Fixed bug #49819 (STDOUT losing data with posix_isatty()). (Mike)
- Fixed bug #49778 (DateInterval::format("%a") is always zero when an interval
is created from an ISO string). (Derick)
- Fixed bug #49700 (memory leaks in php_date.c if garbage collector is
diff --git a/ext/posix/posix.c b/ext/posix/posix.c
index f030356fb8..01f8d407fd 100644
--- a/ext/posix/posix.c
+++ b/ext/posix/posix.c
@@ -703,7 +703,9 @@ static int php_posix_stream_get_fd(zval *zfp, int *fd TSRMLS_DC) /* {{{ */
php_error_docref(NULL TSRMLS_CC, E_WARNING, "expects argument 1 to be a valid stream resource");
return 0;
}
- if (php_stream_can_cast(stream, PHP_STREAM_AS_FD) == SUCCESS) {
+ if (php_stream_can_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT) == SUCCESS) {
+ php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT, (void*)fd, 0);
+ } else if (php_stream_can_cast(stream, PHP_STREAM_AS_FD) == SUCCESS) {
php_stream_cast(stream, PHP_STREAM_AS_FD, (void*)fd, 0);
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not use stream of type '%s'",