jani Tue Apr 8 08:42:05 2008 UTC Added files: /php-src/ext/standard/tests/general_functions bug44667.phpt
Modified files: /php-src/ext/standard proc_open.c Log: - Fixed bug #44667 (proc_open does not handle pipes with the mode "wb" correctly) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.c?r1=1.60&r2=1.61&diff_format=u Index: php-src/ext/standard/proc_open.c diff -u php-src/ext/standard/proc_open.c:1.60 php-src/ext/standard/proc_open.c:1.61 --- php-src/ext/standard/proc_open.c:1.60 Mon Dec 31 07:12:16 2007 +++ php-src/ext/standard/proc_open.c Tue Apr 8 08:42:05 2008 @@ -15,7 +15,7 @@ | Author: Wez Furlong <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: proc_open.c,v 1.60 2007/12/31 07:12:16 sebastian Exp $ */ +/* $Id: proc_open.c,v 1.61 2008/04/08 08:42:05 jani Exp $ */ #if 0 && (defined(__linux__) || defined(sun) || defined(__IRIX__)) # define _BSD_SOURCE /* linux wants this when XOPEN mode is on */ @@ -600,7 +600,7 @@ goto exit_fail; } - if (strcmp(Z_STRVAL_PP(zmode), "w") != 0) { + if (strncmp(Z_STRVAL_PP(zmode), "w", 1) != 0) { descriptors[ndesc].parentend = newpipe[1]; descriptors[ndesc].childend = newpipe[0]; descriptors[ndesc].mode |= DESC_PARENT_MODE_WRITE; http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/general_functions/bug44667.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/general_functions/bug44667.phpt +++ php-src/ext/standard/tests/general_functions/bug44667.phpt --TEST-- Bug #44667 (proc_open() does not handle pipes with the mode 'wb' correctly) --SKIPIF-- <?php if (!is_executable('/bin/cat')) echo 'skip cat not found'; ?> --FILE-- <?php $pipes = array(); $descriptor_spec = array( 0 => array('pipe', 'rb'), 1 => array('pipe', 'wb'), ); $proc = proc_open('cat', $descriptor_spec, $pipes); fwrite($pipes[0], 'Hello', 5); fflush($pipes[0]); fclose($pipes[0]); $result = fread($pipes[1], 5); fclose($pipes[1]); proc_close($proc); echo "Result is: ", $result, "\n"; echo "Done\n"; ?> --EXPECTF-- Result is: Hello Done -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php