]> granicus.if.org Git - php/commit
Fix pipe detection and stream position handling
authorNikita Popov <nikita.ppv@gmail.com>
Thu, 5 Sep 2019 14:35:40 +0000 (16:35 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Thu, 5 Sep 2019 16:29:15 +0000 (18:29 +0200)
commit9ec61e43d453aadab9539f6814e8694295aa1ed1
tree66e1bcfce505809c0263be1431ef55527ab1462e
parent4ecdff2da829a60ddb01ecb260d688acca7339d4
Fix pipe detection and stream position handling

There are two related changes here:
1. Also check for S_ISCHR/FILE_TYPE_CHAR when checking for pipes, so
   that we detect ttys as well, which are also not seekable.
2. Always set position=-1 (i.e. ftell will return false) when a pipe
   is detected. Previously position=0 was sometimes used, depending on
   whether we're on Windows/Linux and whether the FD or FILE codepath
   was used.
main/streams/plain_wrapper.c
sapi/cli/tests/std_streams.phpt [new file with mode: 0644]