aboutsummaryrefslogtreecommitdiff
path: root/net/pecl-smbclient
diff options
context:
space:
mode:
authorSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2020-11-06 11:37:21 +0000
committerSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2020-11-06 11:37:21 +0000
commit44f61c88d11530c55b7a94c1b1a45d2dbb0e6f61 (patch)
tree5e2a54976a890ad8ba8112ff5fdd72bf7053462c /net/pecl-smbclient
parentafd0784ad3a4ff33adc112bab38c05088fc87868 (diff)
downloadports-44f61c88d11530c55b7a94c1b1a45d2dbb0e6f61.tar.gz
ports-44f61c88d11530c55b7a94c1b1a45d2dbb0e6f61.zip
Fix build with PHP 8.0
Notes
Notes: svn path=/head/; revision=554288
Diffstat (limited to 'net/pecl-smbclient')
-rw-r--r--net/pecl-smbclient/files/patch-php_smbclient.h19
-rw-r--r--net/pecl-smbclient/files/patch-smb_streams.c63
2 files changed, 82 insertions, 0 deletions
diff --git a/net/pecl-smbclient/files/patch-php_smbclient.h b/net/pecl-smbclient/files/patch-php_smbclient.h
new file mode 100644
index 000000000000..29d7906855c2
--- /dev/null
+++ b/net/pecl-smbclient/files/patch-php_smbclient.h
@@ -0,0 +1,19 @@
+Obtained from: https://github.com/eduardok/libsmbclient-php/commit/a8eab234dd19e32a73740bdd5689e36324b8be5d
+
+--- php_smbclient.h.orig 2018-12-24 15:25:25 UTC
++++ php_smbclient.h
+@@ -128,6 +128,14 @@ PHP_FUNCTION(smbclient_fstatvfs);
+ #endif
+ #endif
+
++#if PHP_MAJOR_VERSION >= 8
++#define TSRMLS_D void
++#define TSRMLS_DC
++#define TSRMLS_C
++#define TSRMLS_CC
++#define TSRMLS_FETCH()
++#endif
++
+ extern php_stream_wrapper php_stream_smb_wrapper;
+ php_smbclient_state * php_smbclient_state_new (php_stream_context *context, int init TSRMLS_DC);
+ void php_smbclient_state_free (php_smbclient_state *state TSRMLS_DC);
diff --git a/net/pecl-smbclient/files/patch-smb_streams.c b/net/pecl-smbclient/files/patch-smb_streams.c
new file mode 100644
index 000000000000..3ab090dd8bfe
--- /dev/null
+++ b/net/pecl-smbclient/files/patch-smb_streams.c
@@ -0,0 +1,63 @@
+Obtained from: https://github.com/eduardok/libsmbclient-php/commit/a8eab234dd19e32a73740bdd5689e36324b8be5d
+
+--- smb_streams.c.orig 2018-12-24 15:25:25 UTC
++++ smb_streams.c
+@@ -190,7 +190,11 @@ static int php_smb_ops_flush(php_stream *stream TSRMLS
+ return 0;
+ }
+
++#if PHP_VERSION_ID < 70400
+ static size_t php_smb_ops_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
++#else
++static ssize_t php_smb_ops_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
++#endif
+ {
+ ssize_t n = 0;
+ STREAM_DATA_FROM_STREAM();
+@@ -208,12 +212,20 @@ static size_t php_smb_ops_read(php_stream *stream, cha
+ if (n == 0 || n < (ssize_t)count) {
+ stream->eof = 1;
+ }
++#if PHP_VERSION_ID < 70400
+ return (n < 1 ? 0 : (size_t)n);
++#else
++ return n;
++#endif
+ }
+
++#if PHP_VERSION_ID < 70400
+ static size_t php_smb_ops_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
++#else
++static ssize_t php_smb_ops_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
++#endif
+ {
+- size_t len = 0;
++ ssize_t len = 0;
+ STREAM_DATA_FROM_STREAM();
+
+ if (!self || !self->handle) {
+@@ -225,7 +237,12 @@ static size_t php_smb_ops_write(php_stream *stream, co
+ if (self->smbc_write) {
+ len = self->smbc_write(self->state->ctx, self->handle, buf, count);
+ }
++
++#if PHP_VERSION_ID < 70400
++ return (len < 0 ? 0 : (size_t)len);
++#else
+ return len;
++#endif
+ }
+
+ static int php_smb_ops_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC) /* {{{ */
+@@ -500,7 +517,11 @@ static int php_smbdir_ops_close(php_stream *stream, in
+ return EOF;
+ }
+
++#if PHP_VERSION_ID < 70400
+ static size_t php_smbdir_ops_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
++#else
++static ssize_t php_smbdir_ops_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
++#endif
+ {
+ struct smbc_dirent *dirent;
+ php_stream_dirent *ent = (php_stream_dirent*)buf;