From dbc6d0df844fc72c8bc44cc1b639d105619d5131 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 13 May 2014 06:50:20 +0200 Subject: [PATCH] port proc_open to windows (untested yet) --- ext/standard/proc_open.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ext/standard/proc_open.c b/ext/standard/proc_open.c index 39dab2021a..4185da9df6 100644 --- a/ext/standard/proc_open.c +++ b/ext/standard/proc_open.c @@ -469,16 +469,16 @@ PHP_FUNCTION(proc_open) #ifdef PHP_WIN32 if (other_options) { - zval **item; - if (SUCCESS == zend_hash_find(Z_ARRVAL_P(other_options), "suppress_errors", sizeof("suppress_errors"), (void**)&item)) { - if ((Z_TYPE_PP(item) == IS_BOOL || Z_TYPE_PP(item) == IS_LONG) && - Z_LVAL_PP(item)) { + zval *item = zend_hash_str_find(Z_ARRVAL_P(other_options), "suppress_errors", sizeof("suppress_errors")); + if (item != NULL) { + if (Z_TYPE_P(item) == IS_TRUE || ((Z_TYPE_P(item) == IS_LONG) && Z_LVAL_P(item))) { suppress_errors = 1; } } - if (SUCCESS == zend_hash_find(Z_ARRVAL_P(other_options), "bypass_shell", sizeof("bypass_shell"), (void**)&item)) { - if ((Z_TYPE_PP(item) == IS_BOOL || Z_TYPE_PP(item) == IS_LONG) && - Z_LVAL_PP(item)) { + + item = zend_hash_str_find(Z_ARRVAL_P(other_options), "bypass_shell", sizeof("bypass_shell")); + if (item != NULL) { + if (Z_TYPE_P(item) == IS_TRUE || ((Z_TYPE_P(item) == IS_LONG) && Z_LVAL_P(item))) { bypass_shell = 1; } } @@ -626,7 +626,7 @@ PHP_FUNCTION(proc_open) /* simulate the append mode by fseeking to the end of the file this introduces a potential race-condition, but it is the best we can do, though */ - if (strchr(Z_STRVAL_PP(zmode), 'a')) { + if (strchr(Z_STRVAL_P(zmode), 'a')) { SetFilePointer(descriptors[ndesc].childend, 0, NULL, FILE_END); } #else -- 2.50.1