Browse Source

- Fix posix_isatty() and posix_ttyname() (Closes #17323)

experimental/new_ui_api
Markus Fischer 25 years ago
parent
commit
94501132c6
  1. 16
      ext/posix/posix.c

16
ext/posix/posix.c

@ -584,13 +584,15 @@ PHP_FUNCTION(posix_ctermid)
Determine terminal device name (POSIX.1, 4.7.2) */
PHP_FUNCTION(posix_ttyname)
{
long fd;
zval *z_fd;
char *p;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &fd) == FAILURE)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &z_fd) == FAILURE)
return;
if (NULL == (p = ttyname(fd))) {
convert_to_long(z_fd);
if (NULL == (p = ttyname(Z_LVAL_P(z_fd)))) {
POSIX_G(last_error) = errno;
RETURN_FALSE;
}
@ -603,13 +605,15 @@ PHP_FUNCTION(posix_ttyname)
Determine if filedesc is a tty (POSIX.1, 4.7.1) */
PHP_FUNCTION(posix_isatty)
{
long fd;
zval *z_fd;
int result;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &fd) == FAILURE)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &z_fd) == FAILURE)
return;
result = isatty(fd);
convert_to_long(z_fd);
result = isatty(Z_LVAL_P(z_fd));
if (!result)
RETURN_FALSE;

Loading…
Cancel
Save