1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 18:23:26 +02:00

simplify and generalize crossplatform parts

This commit is contained in:
Anatol Belski
2017-04-13 13:04:55 +02:00
parent 858ad8a598
commit df3e1a16fe
+7 -20
View File
@@ -1632,36 +1632,23 @@ PHP_FUNCTION(stream_isatty)
if (php_stream_can_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT) == SUCCESS) {
php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT, (void*)&fileno, 0);
}
else if (php_stream_can_cast(stream, PHP_STREAM_AS_FD) == SUCCESS) {
} else if (php_stream_can_cast(stream, PHP_STREAM_AS_FD) == SUCCESS) {
php_stream_cast(stream, PHP_STREAM_AS_FD, (void*)&fileno, 0);
}
else {
} else {
RETURN_FALSE;
}
#ifdef PHP_WIN32
/* Check if the Windows standard handle is redirected to file */
if (php_win32_console_fileno_is_console(fileno)) {
RETURN_TRUE;
}
else {
RETURN_FALSE;
}
RETVAL_BOOL(php_win32_console_fileno_is_console(fileno));
#elif HAVE_UNISTD_H
/* Check if the file descriptor identifier is a terminal */
if (isatty(fileno)) {
RETURN_TRUE;
}
else {
RETURN_FALSE;
}
RETVAL_BOOL(isatty(fileno));
#else
zend_stat_t stat = {0};
if (zend_fstat(fileno, &stat) == 0 && (stat.st_mode & /*S_IFMT*/0170000) == /*S_IFCHR*/0020000) {
RETURN_TRUE;
{
zend_stat_t stat = {0};
RETVAL_BOOL(zend_fstat(fileno, &stat) == 0 && (stat.st_mode & /*S_IFMT*/0170000) == /*S_IFCHR*/0020000);
}
RETURN_FALSE;
#endif
}