mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-08 01:37:30 +00:00
Correct mistake introduced by my last commit on these files;
*_from_pipe() is for process-pipes created by fopen, not generic pipes created from proc_open(). Correctly implemented the fifo/pipe check for *_from_file() and it seems to be working correctly now.
This commit is contained in:
1 parent
183ebe3e14
commit
602734c7d9
2 files changed
+9
-2
No files matched your search
+1
-1
@@ -976,7 +976,7 @@ PHP_FUNCTION(proc_open)
|
||||
fp = fdopen(descriptors[i].parentend, mode_string);
|
||||
#endif
|
||||
if (fp) {
|
||||
stream = php_stream_fopen_from_pipe(fp, mode_string);
|
||||
stream = php_stream_fopen_from_file(fp, mode_string);
|
||||
if (stream) {
|
||||
zval *retfp;
|
||||
|
||||
|
||||
+8
-1
@@ -1298,6 +1298,7 @@ PHPAPI php_stream *_php_stream_fopen_tmpfile(int dummy STREAMS_DC TSRMLS_DC)
|
||||
PHPAPI php_stream *_php_stream_fopen_from_file(FILE *file, const char *mode STREAMS_DC TSRMLS_DC)
|
||||
{
|
||||
php_stdio_stream_data *self;
|
||||
php_stream *stream;
|
||||
|
||||
self = emalloc_rel_orig(sizeof(*self));
|
||||
self->file = file;
|
||||
@@ -1314,7 +1315,13 @@ PHPAPI php_stream *_php_stream_fopen_from_file(FILE *file, const char *mode STRE
|
||||
}
|
||||
#endif
|
||||
|
||||
return php_stream_alloc_rel(&php_stream_stdio_ops, self, 0, mode);
|
||||
stream = php_stream_alloc_rel(&php_stream_stdio_ops, self, 0, mode);
|
||||
|
||||
if (stream && self->is_pipe) {
|
||||
stream->flags |= PHP_STREAM_FLAG_NO_SEEK;
|
||||
}
|
||||
|
||||
return stream;
|
||||
}
|
||||
|
||||
PHPAPI php_stream *_php_stream_fopen_from_pipe(FILE *file, const char *mode STREAMS_DC TSRMLS_DC)
|
||||
|
||||
Reference in new issue
Block a user