--- file.php	2009-01-06 15:15:44.000000000 +0100
+++ file.php.my	2009-01-06 15:17:43.000000000 +0100
@@ -44,7 +44,7 @@ class fileCache extends Cache {
       if (file_exists($cache_file)) {    
         if ($fp = fopen($cache_file, 'r')) {
           if (flock($fp, LOCK_SH)) {
-            $data = fread($fp, filesize($cache_file));
+            $data = @fread($fp, filesize($cache_file));
             flock($fp, LOCK_UN);
             $cache = unserialize($data);
           }
@@ -117,7 +117,7 @@ class fileCache extends Cache {
     if (is_dir($filename)) {
       $fspath = $filename;
       // Filename: abcdef12345verylongmd5code--content:123456:987654
-      $files = file_scan_directory($fspath, ".--.", '/(\.\.?|CVS)$/');
+      $files = file_scan_directory($fspath, ".--.");
       foreach ($files as $file) {
        if(is_file($file->filename)){
          if ($fp = fopen($file->filename, 'w')) {
@@ -133,7 +133,7 @@ class fileCache extends Cache {
       $look_for = explode('*', $key);
       $fspath = $this->fspath;
       // Filename: abcdef12345verylongmd5code--content:123456:987654
-      $files = file_scan_directory($fspath, ".--$look_for[0].", '/(\.\.?|CVS)$/');
+      $files = file_scan_directory($fspath, ".--{$look_for[0]}.");
       foreach ($files as $file) {
        if(is_file($file->filename)){
          if ($fp = fopen($file->filename, 'w')) {
@@ -147,7 +147,7 @@ class fileCache extends Cache {
       }      
     } else {
       //generate the proper filename
-        if ($fp = fopen($filename, 'w')) {
+        if ($fp = @fopen($filename, 'w')) {
           // only delete the cache file once we obtain an exclusive lock to prevent
           // deleting a cache file that is currently being read.
           if (flock($fp, LOCK_EX)) {
@@ -215,7 +215,7 @@ class fileCache extends Cache {
             drupal_set_message(strtr('Failed to create directory %dir.', array('%dir' => "<em>$dir</em>")));
           }
           else {
-            @chmod($subdirectory, 0775); // Necessary for non-webserver users.
+            @chmod($dir, 0775); // Necessary for non-webserver users.
           }
         }
       }
@@ -224,7 +224,7 @@ class fileCache extends Cache {
 
   function purge($dir) {
     global $cache_lifetime;
-    $files = file_scan_directory($dir, '.', '/(\.\.?|CVS)$/');
+    $files = file_scan_directory($dir, '.');
     foreach ($files as $file) {
       if (filemtime($file->filename) < (time() - $cache_lifetime)) {
         if ($fp = fopen($file->filename, 'r')) {
