[Pkg-owncloud-commits] [owncloud] 126/199: Windows exec() implementation.
David Prévot
taffit at moszumanska.debian.org
Sun Jun 1 18:53:17 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository owncloud.
commit df29eec72b2b094acca97636c6b91ab2eafc245d
Author: Andreas Fischer <bantu at owncloud.com>
Date: Sun Feb 9 16:16:01 2014 +0100
Windows exec() implementation.
---
lib/private/largefilehelper.php | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/lib/private/largefilehelper.php b/lib/private/largefilehelper.php
index 751e60d..5f5e14a 100644
--- a/lib/private/largefilehelper.php
+++ b/lib/private/largefilehelper.php
@@ -92,17 +92,26 @@ class LargeFileHelper {
public function getFilesizeViaExec($filename) {
if (\OC_Helper::is_function_enabled('exec')) {
$os = strtolower(php_uname('s'));
+ $arg = escapeshellarg($filename);
$result = '';
if (strpos($os, 'linux') !== false) {
- $result = trim(exec('stat -c %s ' . escapeshellarg($filename)));
+ $result = $this->exec("stat -c %s $arg");
} else if (strpos($os, 'bsd') !== false) {
- $result = trim(exec('stat -f %z ' . escapeshellarg($filename)));
- }
-
- if (ctype_digit($result)) {
- return 0 + $result;
+ $result = $this->exec("stat -f %z $arg");
+ } else if (strpos($os, 'win') !== false) {
+ $result = $this->exec("for %F in ($arg) do @echo %~zF");
+ if (is_null($result)) {
+ // PowerShell
+ $result = $this->exec("(Get-Item $arg).length");
+ }
}
+ return $result;
}
return null;
}
+
+ protected function exec($cmd) {
+ $result = trim(exec($cmd));
+ return ctype_digit($result) ? 0 + $result : null;
+ }
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list