From 6238dd6f3257bed9efe60a39978376862668e71c Mon Sep 17 00:00:00 2001 From: Matteo Beccati Date: Fri, 14 Jun 2013 16:51:54 +0200 Subject: Fixed bug #63186 (compile failure on netbsd) --- NEWS | 1 + main/streams/cast.c | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 3c5b346335..a0f9e2b0da 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,7 @@ PHP NEWS . Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC). (Laruence) . Fixed bug #64960 (Segfault in gc_zval_possible_root). (Laruence) . Fixed bug #64934 (Apache2 TS crash with get_browser()). (Anatol) + . Fixed bug #63186 (compile failure on netbsd). (Matteo) - DateTime: . Fixed bug #53437 (Crash when using unserialized DatePeriod instance). diff --git a/main/streams/cast.c b/main/streams/cast.c index 4063930436..6f79a24e30 100644 --- a/main/streams/cast.c +++ b/main/streams/cast.c @@ -31,10 +31,18 @@ /* Under BSD, emulate fopencookie using funopen */ #if defined(HAVE_FUNOPEN) && !defined(HAVE_FOPENCOOKIE) + +/* NetBSD 6.0+ uses off_t instead of fpos_t in funopen */ +# if defined(__NetBSD__) && (__NetBSD_Version__ > 600000000) +# define PHP_FPOS_T off_t +# else +# define PHP_FPOS_T fpos_t +# endif + typedef struct { int (*reader)(void *, char *, int); int (*writer)(void *, const char *, int); - fpos_t (*seeker)(void *, fpos_t, int); + PHP_FPOS_T (*seeker)(void *, PHP_FPOS_T, int); int (*closer)(void *); } COOKIE_IO_FUNCTIONS_T; @@ -68,11 +76,11 @@ static int stream_cookie_writer(void *cookie, const char *buffer, int size) return php_stream_write((php_stream *)cookie, (char *)buffer, size); } -static fpos_t stream_cookie_seeker(void *cookie, off_t position, int whence) +static PHP_FPOS_T stream_cookie_seeker(void *cookie, off_t position, int whence) { TSRMLS_FETCH(); - return (fpos_t)php_stream_seek((php_stream *)cookie, position, whence); + return (PHP_FPOS_T)php_stream_seek((php_stream *)cookie, position, whence); } static int stream_cookie_closer(void *cookie) -- cgit v1.2.1