From 19a73ad0d8a507e513c606664d522976d7c25151 Mon Sep 17 00:00:00 2001 From: Dominique Fournier Date: Tue, 13 Jun 2017 12:27:00 +0000 Subject: [PATCH] file: glob remove the first char if there is no chroot git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@3757 bf3deb0d-5f1a-0410-827f-c0cc1f45334c --- Tests/fileTest.php | 26 ++++++++++++++++++++++++++ file.php | 14 +++++++++++--- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/Tests/fileTest.php b/Tests/fileTest.php index def6ad1..2cdfe27 100644 --- a/Tests/fileTest.php +++ b/Tests/fileTest.php @@ -468,4 +468,30 @@ class test_file extends PHPUnit_Framework_TestCase "/testDFFileDir/tptp")); } + public function test_glob_4 () + { + $file = new file (); + $res = $file->glob ("/tmp/testDFFileDir/*"); + $this->assertSame ($res, array ("/tmp/testDFFileDir/toto", + "/tmp/testDFFileDir/tptp")); + } + + public function test_glob_5 () + { + $file = new file (); + $file->chdir ("/tmp/testDFFileDir"); + $res = $file->glob ("*"); + $this->assertSame ($res, array ("toto", + "tptp")); + } + + public function test_glob_6 () + { + $file = new file (); + $file->chdir ("/tmp/testDFFileDir"); + $res = $file->glob ("/tmp/testDFFileDir/*"); + $this->assertSame ($res, array ("/tmp/testDFFileDir/toto", + "/tmp/testDFFileDir/tptp")); + } + } diff --git a/file.php b/file.php index c65d0d6..6bc5c19 100644 --- a/file.php +++ b/file.php @@ -257,10 +257,18 @@ class file throw new \Exception ("Glob : can't read some files", 500); foreach ($files as &$file) { - if ($relative == 1) - $file = substr ($file, strlen ($this->baseDir)+strlen ($this->cwd)+1); + if (strlen ($this->baseDir) > 1) + { + if ($relative == 1) + $file = substr ($file, strlen ($this->baseDir)+strlen ($this->cwd)+1); + else + $file = substr ($file, strlen ($this->baseDir)); + } else - $file = substr ($file, strlen ($this->baseDir)); + { + if ($relative == 1) + $file = substr ($file, strlen ($this->cwd)+1); + } } return $files; }