[PATCH] use file_get_contents instead fread($fp, filesize($filename))

Antony Dovgal <[email protected]>
Newsgroups gmane.comp.php.smarty.devel
Message-ID <[email protected]>
Hi!

Small patch, which removes all fopen() - fread($fp, filesize($filename))
- fclose() cases, replacing them with one file_get_contents() call.

Moreover, this fixes problem with bug http://bugs.php.net/29023, which
prevents Smarty from working properly.

Regardless of the fact that this bug will be fixed (I hope), this
fopen-fread-filesize-fclose mess can be safely replaced by one
file_get_contents() calls.

Please, review it.

---
WBR,
Antony Dovgal aka tony2001
[email protected] || [email protected]

-- 
Smarty Development Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
no_fread.diff.txt (text/plain, 1.7 KB)
Index: Config_File.class.php
===================================================================
RCS file: /repository/smarty/libs/Config_File.class.php,v
retrieving revision 1.71
diff -u -r1.71 Config_File.class.php
--- Config_File.class.php	17 Jun 2004 08:55:09 -0000	1.71
+++ Config_File.class.php	6 Jul 2004 13:50:57 -0000
@@ -234,14 +234,12 @@
             $config_file = $file_name;
 
         ini_set('track_errors', true);
-        $fp = @fopen($config_file, "r");
-        if (!is_resource($fp)) {
+        if (!is_readable($config_file)) {
             $this->_trigger_error_msg("Could not open config file '$config_file'");
             return false;
         }
 
-        $contents = ($size = filesize($config_file)) ? fread($fp, $size) : '';
-        fclose($fp);
+        $contents = ($size = filesize($config_file)) ? file_get_contents($config_file) : '';
 
         $this->_config_data[$config_file] = $this->parse_contents($contents);
         return true;
Index: Smarty.class.php
===================================================================
RCS file: /repository/smarty/libs/Smarty.class.php,v
retrieving revision 1.492
diff -u -r1.492 Smarty.class.php
--- Smarty.class.php	1 Jul 2004 15:48:40 -0000	1.492
+++ Smarty.class.php	6 Jul 2004 13:50:57 -0000
@@ -1705,9 +1705,8 @@
      */
     function _read_file($filename)
     {
-        if ( file_exists($filename) && ($fd = @fopen($filename, 'rb')) ) {
-            $contents = ($size = filesize($filename)) ? fread($fd, $size) : '';
-            fclose($fd);
+        if ( is_readable($filename) ) {
+            $contents = ($size = filesize($filename)) ? file_get_contents($filename) : '';
             return $contents;
         } else {
             return false;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.