- Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie emulation)

This commit is contained in:
Jani Taskinen 2010-01-19 13:44:08 +00:00
parent 85fcabf3ce
commit 3d733ce6fa
2 changed files with 11 additions and 11 deletions

View File

@ -280,7 +280,7 @@ php_stream *php_curl_stream_opener(php_stream_wrapper *wrapper, char *filename,
* have a FILE* associated with it. * have a FILE* associated with it.
* Otherwise, use the "smart" memory stream that will turn itself into a file * Otherwise, use the "smart" memory stream that will turn itself into a file
* when it gets large */ * when it gets large */
#if !HAVE_FOPENCOOKIE #ifndef HAVE_FOPENCOOKIE
if (options & STREAM_WILL_CAST) { if (options & STREAM_WILL_CAST) {
curlstream->readbuffer.buf = php_stream_fopen_tmpfile(); curlstream->readbuffer.buf = php_stream_fopen_tmpfile();
} else } else
@ -445,7 +445,7 @@ php_stream *php_curl_stream_opener(php_stream_wrapper *wrapper, char *filename,
php_stream_to_zval(curlstream->readbuffer.buf, tmp); php_stream_to_zval(curlstream->readbuffer.buf, tmp);
add_assoc_zval(stream->wrapperdata, "readbuf", tmp); add_assoc_zval(stream->wrapperdata, "readbuf", tmp);
#if !HAVE_FOPENCOOKIE #ifndef HAVE_FOPENCOOKIE
if (options & STREAM_WILL_CAST) { if (options & STREAM_WILL_CAST) {
/* we will need to download the whole resource now, /* we will need to download the whole resource now,
* since we cannot get the actual FD for the download, * since we cannot get the actual FD for the download,

View File

@ -30,7 +30,7 @@
#include "php_streams_int.h" #include "php_streams_int.h"
/* Under BSD, emulate fopencookie using funopen */ /* Under BSD, emulate fopencookie using funopen */
#if HAVE_FUNOPEN #if defined(HAVE_FUNOPEN) && !defined(HAVE_FOPENCOOKIE)
typedef struct { typedef struct {
int (*reader)(void *, char *, int); int (*reader)(void *, char *, int);
int (*writer)(void *, const char *, int); int (*writer)(void *, const char *, int);
@ -43,13 +43,14 @@ FILE *fopencookie(void *cookie, const char *mode, COOKIE_IO_FUNCTIONS_T *funcs)
return funopen(cookie, funcs->reader, funcs->writer, funcs->seeker, funcs->closer); return funopen(cookie, funcs->reader, funcs->writer, funcs->seeker, funcs->closer);
} }
# define HAVE_FOPENCOOKIE 1 # define HAVE_FOPENCOOKIE 1
# define PHP_EMULATE_FOPENCOOKIE 1
# define PHP_STREAM_COOKIE_FUNCTIONS &stream_cookie_functions # define PHP_STREAM_COOKIE_FUNCTIONS &stream_cookie_functions
#elif HAVE_FOPENCOOKIE #elif defined(HAVE_FOPENCOOKIE)
# define PHP_STREAM_COOKIE_FUNCTIONS stream_cookie_functions # define PHP_STREAM_COOKIE_FUNCTIONS stream_cookie_functions
#endif #endif
/* {{{ STDIO with fopencookie */ /* {{{ STDIO with fopencookie */
#if HAVE_FUNOPEN #if defined(PHP_EMULATE_FOPENCOOKIE)
/* use our fopencookie emulation */ /* use our fopencookie emulation */
static int stream_cookie_reader(void *cookie, char *buffer, int size) static int stream_cookie_reader(void *cookie, char *buffer, int size)
{ {
@ -83,8 +84,7 @@ static int stream_cookie_closer(void *cookie)
stream->fclose_stdiocast = PHP_STREAM_FCLOSE_NONE; stream->fclose_stdiocast = PHP_STREAM_FCLOSE_NONE;
return php_stream_close(stream); return php_stream_close(stream);
} }
#elif defined(HAVE_FOPENCOOKIE)
#elif HAVE_FOPENCOOKIE
static ssize_t stream_cookie_reader(void *cookie, char *buffer, size_t size) static ssize_t stream_cookie_reader(void *cookie, char *buffer, size_t size)
{ {
ssize_t ret; ssize_t ret;
@ -101,7 +101,7 @@ static ssize_t stream_cookie_writer(void *cookie, const char *buffer, size_t siz
return php_stream_write(((php_stream *)cookie), (char *)buffer, size); return php_stream_write(((php_stream *)cookie), (char *)buffer, size);
} }
#ifdef COOKIE_SEEKER_USES_OFF64_T # ifdef COOKIE_SEEKER_USES_OFF64_T
static int stream_cookie_seeker(void *cookie, __off64_t *position, int whence) static int stream_cookie_seeker(void *cookie, __off64_t *position, int whence)
{ {
TSRMLS_FETCH(); TSRMLS_FETCH();
@ -113,14 +113,14 @@ static int stream_cookie_seeker(void *cookie, __off64_t *position, int whence)
} }
return 0; return 0;
} }
#else # else
static int stream_cookie_seeker(void *cookie, off_t position, int whence) static int stream_cookie_seeker(void *cookie, off_t position, int whence)
{ {
TSRMLS_FETCH(); TSRMLS_FETCH();
return php_stream_seek((php_stream *)cookie, position, whence); return php_stream_seek((php_stream *)cookie, position, whence);
} }
#endif # endif
static int stream_cookie_closer(void *cookie) static int stream_cookie_closer(void *cookie)
{ {
@ -131,7 +131,7 @@ static int stream_cookie_closer(void *cookie)
stream->fclose_stdiocast = PHP_STREAM_FCLOSE_NONE; stream->fclose_stdiocast = PHP_STREAM_FCLOSE_NONE;
return php_stream_close(stream); return php_stream_close(stream);
} }
#endif /* elif HAVE_FOPENCOOKIE */ #endif /* elif defined(HAVE_FOPENCOOKIE) */
#if HAVE_FOPENCOOKIE #if HAVE_FOPENCOOKIE
static COOKIE_IO_FUNCTIONS_T stream_cookie_functions = static COOKIE_IO_FUNCTIONS_T stream_cookie_functions =