summaryrefslogtreecommitdiffstats
path: root/73.patch
diff options
context:
space:
mode:
Diffstat (limited to '73.patch')
-rw-r--r--73.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/73.patch b/73.patch
new file mode 100644
index 0000000..28ab97d
--- /dev/null
+++ b/73.patch
@@ -0,0 +1,101 @@
+From 951f266b04c381a13d33d6445abe5d15c3fd8c53 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Tue, 1 Sep 2020 09:57:04 +0200
+Subject: [PATCH 1/2] fix for changes in stream in 7.4
+
+---
+ smb_streams.c | 23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+diff --git a/smb_streams.c b/smb_streams.c
+index b6f73c6..8448dd6 100644
+--- a/smb_streams.c
++++ b/smb_streams.c
+@@ -190,7 +190,11 @@ static int php_smb_ops_flush(php_stream *stream TSRMLS_DC)
+ 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, char *buf, size_t count TSRML
+ 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, const char *buf, size_t coun
+ 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, int close_handle TSRMLS_DC)
+ 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;
+
+From 93c27f7c7680110b130641cf874207625bcc454a Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Tue, 1 Sep 2020 09:57:20 +0200
+Subject: [PATCH 2/2] fix for upcoming PHP 8
+
+---
+ php_smbclient.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/php_smbclient.h b/php_smbclient.h
+index ee17501..6b26ebe 100644
+--- a/php_smbclient.h
++++ b/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);