summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatteo Beccati <mbeccati@php.net>2013-06-14 16:51:54 +0200
committerMatteo Beccati <mbeccati@php.net>2013-06-14 16:51:54 +0200
commit6238dd6f3257bed9efe60a39978376862668e71c (patch)
tree20f209783083887876c449318d47edb6720c2b87
parentcd1b44c4b6b67e77d8704a2a24e7c676f835a76d (diff)
downloadphp-git-6238dd6f3257bed9efe60a39978376862668e71c.tar.gz
Fixed bug #63186 (compile failure on netbsd)
-rw-r--r--NEWS1
-rw-r--r--main/streams/cast.c14
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)