summaryrefslogtreecommitdiffstats
path: root/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/3rdparty/icewind/smb/src/NativeStream.php')
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/NativeStream.php14
1 files changed, 11 insertions, 3 deletions
diff --git a/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php b/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php
index 8ffa8836924..481395b025a 100644
--- a/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php
+++ b/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php
@@ -33,19 +33,26 @@ class NativeStream implements File {
private $eof = false;
/**
+ * @var string
+ */
+ private $url;
+
+ /**
* Wrap a stream from libsmbclient-php into a regular php stream
*
* @param \Icewind\SMB\NativeState $state
* @param resource $smbStream
* @param string $mode
+ * @param string $url
* @return resource
*/
- public static function wrap($state, $smbStream, $mode) {
+ public static function wrap($state, $smbStream, $mode, $url) {
stream_wrapper_register('nativesmb', '\Icewind\SMB\NativeStream');
$context = stream_context_create(array(
'nativesmb' => array(
'state' => $state,
- 'handle' => $smbStream
+ 'handle' => $smbStream,
+ 'url' => $url
)
));
$fh = fopen('nativesmb://', $mode, false, $context);
@@ -69,6 +76,7 @@ class NativeStream implements File {
$context = stream_context_get_options($this->context);
$this->state = $context['nativesmb']['state'];
$this->handle = $context['nativesmb']['handle'];
+ $this->url = $context['nativesmb']['url'];
return true;
}
@@ -91,7 +99,7 @@ class NativeStream implements File {
public function stream_stat() {
try {
- return $this->state->fstat($this->handle);
+ return $this->state->stat($this->url);
} catch (Exception $e) {
return false;
}