Bug #63639 [NEW]: posix_isatty and posix_ttyname weird var handling
| From: | antronin at gmail dot com | Date: | Wed, 28 Nov 2012 21:55:52 +0000 |
| Subject: | Bug #63639 [NEW]: posix_isatty and posix_ttyname weird var handling | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-175007@lists.php.net to get a copy of this message | ||
From: antronin at gmail dot com
Operating system: Ubuntu 12.10
PHP version: Irrelevant
Package: POSIX related
Bug Type: Bug
Bug description:posix_isatty and posix_ttyname weird var handling
Description:
------------
---
From manual page: http://www.php.net/function.posix-isatty
---
Although documentation says "Returns TRUE if fd is an open descriptor
connected
to a terminal and FALSE otherwise." clearly this is not the case.
It also returns TRUE if the parameter is not a file descriptor at all
except is
it is an integer < 3.
Test script:
---------------
var_dump(posix_isatty(true));
var_dump(posix_isatty(false));
var_dump(posix_isatty('str'));
var_dump(posix_isatty(array()));
var_dump(posix_isatty(42));
for ($i=0; $i<50; $i++) {
var_dump(posix_isatty($i));
}
Expected result:
----------------
(bool)false
(bool)false
(bool)false
(bool)false
(bool)false
(bool)false x50
Actual result:
--------------
(bool)true
(bool)true
(bool)true
(bool)true
(bool)false
(bool)true
(bool)true
(bool)true
(bool)false x47
--
Edit bug report at https://bugs.php.net/bug.php?id=63639&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=63639&r=trysnapshot54
Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=63639&r=trysnapshot53
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=63639&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=63639&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=63639&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=63639&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=63639&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=63639&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=63639&r=support
Expected behavior: https://bugs.php.net/fix.php?id=63639&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=63639&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=63639&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=63639&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63639&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=63639&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=63639&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=63639&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=63639&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=63639&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=63639&r=mysqlcfg