From 43b1d81f77df987ad4118bafbdef14d9bd4f016d Mon Sep 17 00:00:00 2001
From: Philipp Schmitt <philipp@schmitt.co>
Date: Fri, 21 Feb 2014 13:45:57 +0100
Subject: [PATCH] Use 'command -v' to detect whether and where software is
 installed (instead of 'which')

---
 apps/files_external/lib/config.php | 2 +-
 lib/private/installer.php          | 2 +-
 lib/private/preview/movies.php     | 2 +-
 lib/private/preview/office-cl.php  | 4 ++--
 lib/private/preview/office.php     | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php
index b2109e5eac..9bc06bbbcc 100755
--- a/apps/files_external/lib/config.php
+++ b/apps/files_external/lib/config.php
@@ -438,7 +438,7 @@ class OC_Mount_Config {
 	 */
 	public static function checksmbclient() {
 		if(function_exists('shell_exec')) {
-			$output=shell_exec('which smbclient 2> /dev/null');
+			$output=shell_exec('command -v smbclient 2> /dev/null');
 			return !empty($output);
 		}else{
 			return false;
diff --git a/lib/private/installer.php b/lib/private/installer.php
index 11633a4d4a..64e8e3a5e7 100644
--- a/lib/private/installer.php
+++ b/lib/private/installer.php
@@ -464,7 +464,7 @@ class OC_Installer{
 		// is the code checker enabled?
 		if(OC_Config::getValue('appcodechecker', true)) {
 			// check if grep is installed
-			$grep = exec('which grep');
+			$grep = exec('command -v grep');
 			if($grep=='') {
 				OC_Log::write('core',
 					'grep not installed. So checking the code of the app "'.$appname.'" was not possible',
diff --git a/lib/private/preview/movies.php b/lib/private/preview/movies.php
index 71cd3bae05..7e0ff51ad2 100644
--- a/lib/private/preview/movies.php
+++ b/lib/private/preview/movies.php
@@ -9,7 +9,7 @@
 namespace OC\Preview;
 
 function findBinaryPath($program) {
-	exec('which ' . escapeshellarg($program) . ' 2> /dev/null', $output, $returnCode);
+	exec('command -v ' . escapeshellarg($program) . ' 2> /dev/null', $output, $returnCode);
 	if ($returnCode === 0 && count($output) > 0) {
 		return escapeshellcmd($output[0]);
 	}
diff --git a/lib/private/preview/office-cl.php b/lib/private/preview/office-cl.php
index b11fed13ba..6e4d4321eb 100644
--- a/lib/private/preview/office-cl.php
+++ b/lib/private/preview/office-cl.php
@@ -64,12 +64,12 @@ if (!\OC_Util::runningOnWindows()) {
 				$cmd = \OC_Config::getValue('preview_libreoffice_path', null);
 			}
 
-			$whichLibreOffice = shell_exec('which libreoffice');
+			$whichLibreOffice = shell_exec('command -v libreoffice');
 			if($cmd === '' && !empty($whichLibreOffice)) {
 				$cmd = 'libreoffice';
 			}
 
-			$whichOpenOffice = shell_exec('which openoffice');
+			$whichOpenOffice = shell_exec('command -v openoffice');
 			if($cmd === '' && !empty($whichOpenOffice)) {
 				$cmd = 'openoffice';
 			}
diff --git a/lib/private/preview/office.php b/lib/private/preview/office.php
index 02bb22e9b9..131bc9a0dc 100644
--- a/lib/private/preview/office.php
+++ b/lib/private/preview/office.php
@@ -11,9 +11,9 @@ if (extension_loaded('imagick') && count(@\Imagick::queryFormats("PDF")) === 1)
 
 	// LibreOffice preview is currently not supported on Windows
 	if (!\OC_Util::runningOnWindows()) {
-		$whichLibreOffice = ($isShellExecEnabled ? shell_exec('which libreoffice') : '');
+		$whichLibreOffice = ($isShellExecEnabled ? shell_exec('command -v libreoffice') : '');
 		$isLibreOfficeAvailable = !empty($whichLibreOffice);
-		$whichOpenOffice = ($isShellExecEnabled ? shell_exec('which libreoffice') : '');
+		$whichOpenOffice = ($isShellExecEnabled ? shell_exec('command -v libreoffice') : '');
 		$isOpenOfficeAvailable = !empty($whichOpenOffice);
 		//let's see if there is libreoffice or openoffice on this machine
 		if($isShellExecEnabled && ($isLibreOfficeAvailable || $isOpenOfficeAvailable || is_string(\OC_Config::getValue('preview_libreoffice_path', null)))) {
-- 
GitLab