]> granicus.if.org Git - php/commitdiff
- Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie emulation)
authorJani Taskinen <jani@php.net>
Tue, 19 Jan 2010 13:44:08 +0000 (13:44 +0000)
committerJani Taskinen <jani@php.net>
Tue, 19 Jan 2010 13:44:08 +0000 (13:44 +0000)
NEWS
ext/curl/streams.c
main/streams/cast.c

diff --git a/NEWS b/NEWS
index 5eaf12ca01735351cfd4c35f3ef0db3b4faeca98..02a0ecf0bd33f827a5294dcf23f4e635fafbd482 100644 (file)
--- 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
index 459b23afcd2722b8d72a3bfbb4b54a594b0f009a..a379ff5b992381293185a18f9c4fec8484ef72be 100644 (file)
@@ -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,
index 838b03063941d6133b2e4c1dcd298482503a678f..9ba4933830e693b92305967435e29d7138f587bf 100644 (file)
@@ -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 =