From:             [EMAIL PROTECTED]
Operating system: Linux
PHP version:      4.2.0
PHP Bug Type:     POSIX related
Bug description:  posix_isatty wants a long instead of resource

The bug seems rather simple. Using command-line PHP, the following fragment
should work:

#!/usr/bin/php -q
<?php

   $fd = fopen('php://stdout','w');
   if (posix_isatty($fd))
      print "yes, it is a terminal\n";
   else
      print "no, it is not a terminal\n";

?>

However, it appears that the function definition requires a long passed,
instead of a resource. The error message reported is:

dns:root-/usr/bin> ./test.php
PHP Warning:  posix_isatty() expects parameter 1 to be long, resource
given in /usr/bin/test.php on line 4
<br />
<b>Warning</b>:  posix_isatty() expects parameter 1 to be long, resource
given in <b>/usr/bin/test.php</b> on line <b>4</b
><br />
no, it is not a terminal

A workaround appears to be the following:

#!/usr/bin/php -q
<?php

   $fd = fopen('php://stdout','w');
   settype($fd,'int');
   if (posix_isatty($fd))
      print "yes, it is a terminal\n";
   else
      print "no, it is not a terminal\n";

?>

The explicit type-cast fixes the problem. Maybe I have settings in the
php.ini file wrong, but I don't think this function should behave like
this. Perhaps it requires just a change to the source. This is also broke
with posix_ttyname(). Am I suppose to acquire a file descriptor another
way?

Regards,

Patrick O'Lone
-- 
Edit bug report at http://bugs.php.net/?id=17323&edit=1
-- 
Fixed in CVS:        http://bugs.php.net/fix.php?id=17323&r=fixedcvs
Fixed in release:    http://bugs.php.net/fix.php?id=17323&r=alreadyfixed
Need backtrace:      http://bugs.php.net/fix.php?id=17323&r=needtrace
Try newer version:   http://bugs.php.net/fix.php?id=17323&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=17323&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=17323&r=notwrong
Not enough info:     http://bugs.php.net/fix.php?id=17323&r=notenoughinfo
Submitted twice:     http://bugs.php.net/fix.php?id=17323&r=submittedtwice
register_globals:    http://bugs.php.net/fix.php?id=17323&r=globals

Reply via email to