Skip to content
Snippets Groups Projects
Commit b328697d authored by Andreas Gohr's avatar Andreas Gohr
Browse files

don't check for file existance in fullpath() by default

In most (all) calls to fullpath() the existance of the resulting path is not
important or is checked externally, so checking inside fullpath() is a waste
of CPU cycles.

darcs-hash:20081213083355-7ad00-4987a85950a13e5d3c527b3b17b1092e0fa1c567.gz
parent 58e3a7bf
No related branches found
No related tags found
No related merge requests found
......@@ -464,7 +464,7 @@ EOT;
* @author <richpageau at yahoo dot co dot uk>
* @link http://de3.php.net/manual/en/function.realpath.php#75992
*/
function fullpath($path){
function fullpath($path,$exists=false){
static $run = 0;
$root = '';
$iswin = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' || $GLOBALS['DOKU_UNITTEST_ASSUME_WINDOWS']);
......@@ -490,7 +490,7 @@ function fullpath($path){
$path = $base.'/'.$path;
if($run == 0){ // avoid endless recursion when base isn't absolute for some reason
$run++;
return fullpath($path,1);
return fullpath($path,$exists);
}
}
$run = 0;
......@@ -508,8 +508,8 @@ function fullpath($path){
}
$finalpath = $root.implode('/', $newpath);
// check for existance (except when unit testing)
if(!defined('DOKU_UNITTEST') && !@file_exists($finalpath)) {
// check for existance when needed (except when unit testing)
if($exists && !defined('DOKU_UNITTEST') && !@file_exists($finalpath)) {
return false;
}
return $finalpath;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment