iliaa Tue Feb 25 11:21:00 2003 EDT
Added files:
/php4/ext/standard/tests/file bug22414.phpt
Modified files:
/php4/ext/standard exec.c
Log:
Fixed bug #22414 and added a test case for it.
Index: php4/ext/standard/exec.c
diff -u php4/ext/standard/exec.c:1.95 php4/ext/standard/exec.c:1.96
--- php4/ext/standard/exec.c:1.95 Wed Feb 19 19:32:51 2003
+++ php4/ext/standard/exec.c Tue Feb 25 11:21:00 2003
@@ -15,7 +15,7 @@
| Author: Rasmus Lerdorf |
+----------------------------------------------------------------------+
*/
-/* $Id: exec.c,v 1.95 2003/02/20 00:32:51 iliaa Exp $ */
+/* $Id: exec.c,v 1.96 2003/02/25 16:21:00 iliaa Exp $ */
#include <stdio.h>
#include "php.h"
@@ -213,7 +213,7 @@
} else {
size_t b;
- while ((b = fread(buf, buflen, 1, fp)) > 0) {
+ while((b = php_stream_read(stream, buf, EXEC_INPUT_BUF)) > 0) {
if (output) {
PHPWRITE(buf, b);
}
Index: php4/ext/standard/tests/file/bug22414.phpt
+++ php4/ext/standard/tests/file/bug22414.phpt
--TEST--
Bug #22414: passthru() does not read data correctly
--SKIPIF--
<?php
if (empty(@shell_exec("which cat")) {
dir('skip cat binary needed for this test is not avaliable');
}
?>
--POST--
--GET--
--FILE--
<?php
$php = getenv('TEST_PHP_EXECUTABLE');
$pwd = realpath(dirname(__FILE__));
/* Regular Data Test */
passthru($php . ' -r " echo \"HELLO\"; "');
echo "\n";
/* Binary Data Test */
@unlink($pwd . '/passthru_test');
$cmd = $php . ' -r \' passthru("cat ' . $php . '"); \' > ' . $pwd .
'/passthru_test';
exec($cmd);
if (md5_file($php) == md5_file($pwd . '/passthru_test')) {
echo "Works\n";
} else {
echo "Does not work\n";
}
@unlink($pwd . '/passthru_test');
?>
--EXPECT--
HELLO
Works
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php