From: Jani Taskinen Date: Tue, 19 Jan 2010 13:44:08 +0000 (+0000) Subject: - Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie emulation) X-Git-Tag: php-5.2.13RC1~19 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7339ef249f886212bde8aee86fcdddd45bd84ae2;p=php - Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie emulation) --- diff --git a/NEWS b/NEWS index 5eaf12ca01..02a0ecf0bd 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,8 @@ PHP NEWS - Fixed build of mysqli with MySQL 5.5.0-m2. (Andrey) +- Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie + emulation). (Jani) - Fixed bug #50787 (stream_set_write_buffer() has no effect on socket streams). (vnegrier at optilian dot com, Ilia) - Fixed bug #50761 (system.multiCall crashes in xmlrpc extension). (hiroaki diff --git a/ext/curl/streams.c b/ext/curl/streams.c index 459b23afcd..a379ff5b99 100644 --- a/ext/curl/streams.c +++ b/ext/curl/streams.c @@ -277,7 +277,7 @@ php_stream *php_curl_stream_opener(php_stream_wrapper *wrapper, char *filename, * have a FILE* associated with it. * Otherwise, use the "smart" memory stream that will turn itself into a file * when it gets large */ -#if !HAVE_FOPENCOOKIE +#ifndef HAVE_FOPENCOOKIE if (options & STREAM_WILL_CAST) { curlstream->readbuffer.buf = php_stream_fopen_tmpfile(); } else @@ -442,7 +442,7 @@ php_stream *php_curl_stream_opener(php_stream_wrapper *wrapper, char *filename, php_stream_to_zval(curlstream->readbuffer.buf, tmp); add_assoc_zval(stream->wrapperdata, "readbuf", tmp); -#if !HAVE_FOPENCOOKIE +#ifndef HAVE_FOPENCOOKIE if (options & STREAM_WILL_CAST) { /* we will need to download the whole resource now, * since we cannot get the actual FD for the download, diff --git a/main/streams/cast.c b/main/streams/cast.c index 838b030639..9ba4933830 100644 --- a/main/streams/cast.c +++ b/main/streams/cast.c @@ -30,7 +30,7 @@ #include "php_streams_int.h" /* Under BSD, emulate fopencookie using funopen */ -#if HAVE_FUNOPEN +#if defined(HAVE_FUNOPEN) && !defined(HAVE_FOPENCOOKIE) typedef struct { int (*reader)(void *, 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); } # define HAVE_FOPENCOOKIE 1 +# define PHP_EMULATE_FOPENCOOKIE 1 # define PHP_STREAM_COOKIE_FUNCTIONS &stream_cookie_functions -#elif HAVE_FOPENCOOKIE +#elif defined(HAVE_FOPENCOOKIE) # define PHP_STREAM_COOKIE_FUNCTIONS stream_cookie_functions #endif /* {{{ STDIO with fopencookie */ -#if HAVE_FUNOPEN +#if defined(PHP_EMULATE_FOPENCOOKIE) /* use our fopencookie emulation */ 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; return php_stream_close(stream); } - -#elif HAVE_FOPENCOOKIE +#elif defined(HAVE_FOPENCOOKIE) static ssize_t stream_cookie_reader(void *cookie, char *buffer, size_t size) { 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); } -#ifdef COOKIE_SEEKER_USES_OFF64_T +# ifdef COOKIE_SEEKER_USES_OFF64_T static int stream_cookie_seeker(void *cookie, __off64_t *position, int whence) { TSRMLS_FETCH(); @@ -113,14 +113,14 @@ static int stream_cookie_seeker(void *cookie, __off64_t *position, int whence) } return 0; } -#else +# else static int stream_cookie_seeker(void *cookie, off_t position, int whence) { TSRMLS_FETCH(); return php_stream_seek((php_stream *)cookie, position, whence); } -#endif +# endif 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; return php_stream_close(stream); } -#endif /* elif HAVE_FOPENCOOKIE */ +#endif /* elif defined(HAVE_FOPENCOOKIE) */ #if HAVE_FOPENCOOKIE static COOKIE_IO_FUNCTIONS_T stream_cookie_functions =