Skip to content

Commit

Permalink
Fixed #12268 (Capturing output via exp_loguser from within PHP / Apac…
Browse files Browse the repository at this point in the history
…he):

git-svn-id: http://svn.php.net/repository/pecl/expect/trunk@244507 c90b9560-bf6c-de11-be94-00142212c4b1
  • Loading branch information
Michael Spector committed Oct 20, 2007
1 parent 945027c commit f6d02a1
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 9 deletions.
19 changes: 13 additions & 6 deletions expect.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,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;
}
Expand Down Expand Up @@ -187,9 +195,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));
Expand Down
6 changes: 3 additions & 3 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down

0 comments on commit f6d02a1

Please sign in to comment.