mirror of
https://github.com/php-win-ext/pecl-expect.git
synced 2026-03-24 05:02:05 +01:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6251794c5 | ||
|
|
2246eef8d7 |
22
expect.c
22
expect.c
@@ -19,6 +19,8 @@
|
||||
/* $ Id: $ */
|
||||
|
||||
#include "php_expect.h"
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
/* {{{ expect_functions[] */
|
||||
function_entry expect_functions[] = {
|
||||
@@ -80,11 +82,19 @@ static PHP_INI_MH(OnSetExpectLogUser)
|
||||
static PHP_INI_MH(OnSetExpectLogFile)
|
||||
{
|
||||
if (new_value_length > 0) {
|
||||
exp_logfile = fopen (new_value, "a");
|
||||
if (!exp_logfile) {
|
||||
php_error_docref (NULL TSRMLS_CC, E_ERROR, "could not open log file for writting");
|
||||
php_stream *stream = php_stream_open_wrapper (new_value, "a", 0, NULL);
|
||||
if (!stream) {
|
||||
php_error_docref (NULL TSRMLS_CC, E_ERROR, "could not open log file for writing");
|
||||
return FAILURE;
|
||||
}
|
||||
stream->flags |= PHP_STREAM_FLAG_NO_SEEK;
|
||||
if (php_stream_cast(stream, PHP_STREAM_AS_STDIO, (void **) &exp_logfile, REPORT_ERRORS) != SUCCESS) {
|
||||
return FAILURE;
|
||||
}
|
||||
exp_logfile_all = 1;
|
||||
} else {
|
||||
exp_logfile = NULL;
|
||||
exp_logfile_all = 0;
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
@@ -164,6 +174,7 @@ PHP_FUNCTION(expect_popen)
|
||||
if (!stream) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
stream->flags |= PHP_STREAM_FLAG_NO_SEEK;
|
||||
php_stream_to_zval(stream, return_value);
|
||||
}
|
||||
/* }}} */
|
||||
@@ -187,9 +198,8 @@ PHP_FUNCTION(expect_expectl)
|
||||
}
|
||||
|
||||
php_stream_from_zval (stream, &z_stream);
|
||||
if (php_stream_cast (stream, PHP_STREAM_AS_FD, (void*)&fd, 1) != SUCCESS || fd < 0) {
|
||||
php_error_docref (NULL TSRMLS_CC, E_ERROR, "couldn't cast expect stream to a file descriptor");
|
||||
return;
|
||||
if (php_stream_cast (stream, PHP_STREAM_AS_FD, (void*)&fd, REPORT_ERRORS) != SUCCESS || fd < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
argc = zend_hash_num_elements (Z_ARRVAL_P(z_cases));
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
</maintainers>
|
||||
|
||||
<release>
|
||||
<version>0.2.2</version>
|
||||
<date>2006-07-05</date>
|
||||
<version>0.2.4</version>
|
||||
<date>2007-10-20</date>
|
||||
<state>beta</state>
|
||||
<notes>Fix segfault on scenario with EXP_TIMEOUT.
|
||||
<notes>Fixed #12268 (Capturing output via exp_loguser from within PHP / Apache)
|
||||
</notes>
|
||||
</release>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user