cvs: pear-core /PEAR ChannelFile.php DependencyDB.php Installer.php PackageFile.php Packager.php Registry.php /PEAR/PackageFile v1.php
/PEAR/PackageFile/Generator v2.php /PEAR/PackageFile/v2 Validator.php /PEAR/Start CLI.php

From: Date: Sun, 14 Aug 2005 06:49:25 +0000
Subject: cvs: pear-core /PEAR ChannelFile.php DependencyDB.php Installer.php PackageFile.php Packager.php Registry.php /PEAR/PackageFile v1.php
/PEAR/PackageFile/Generator v2.php /PEAR/PackageFile/v2 Validator.php /PEAR/Start CLI.php
Groups: php.pear.cvs php.pear.core 
Request: Send a blank email to pear-core+get-3520@lists.php.net to get a copy of this message
cellog Sun Aug 14 02:49:25 2005 EDT Modified files: /pear-core/PEAR ChannelFile.php DependencyDB.php Installer.php PackageFile.php Packager.php Registry.php /pear-core/PEAR/PackageFile v1.php /pear-core/PEAR/PackageFile/Generator v2.php /pear-core/PEAR/PackageFile/v2 Validator.php /pear-core/PEAR/Start CLI.php Log: fix all fread($fp, filesize($file)) references to use file_get_contents() if the function is available. This fixes all cases of stream weirdness, meaning go-pear.phar works!!!

http://cvs.php.net/diff.php/pear-core/PEAR/ChannelFile.php?r1=1.71&r2=1.72&ty=u Index: pear-core/PEAR/ChannelFile.php diff -u pear-core/PEAR/ChannelFile.php:1.71 pear-core/PEAR/ChannelFile.php:1.72 --- pear-core/PEAR/ChannelFile.php:1.71 Sat Jul 30 00:24:27 2005 +++ pear-core/PEAR/ChannelFile.php Sun Aug 14 02:49:17 2005 @@ -15,7 +15,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: ChannelFile.php,v 1.71 2005/07/30 04:24:27 cellog Exp $ + * @version CVS: $Id: ChannelFile.php,v 1.72 2005/08/14 06:49:17 cellog Exp $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -385,7 +385,13 @@ // read the whole thing so we only get one cdata callback // for each block of cdata - $data = fread($fp, filesize($descfile)); + if (function_exists('file_get_contents')) { + fclose($fp); + $data = file_get_contents($descfile); + } else { + $data = fread($fp, filesize($descfile)); + fclose($fp); + } return $this->fromXmlString($data); } http://cvs.php.net/diff.php/pear-core/PEAR/DependencyDB.php?r1=1.27&r2=1.28&ty=u Index: pear-core/PEAR/DependencyDB.php diff -u pear-core/PEAR/DependencyDB.php:1.27 pear-core/PEAR/DependencyDB.php:1.28 --- pear-core/PEAR/DependencyDB.php:1.27 Fri Jun 3 23:58:05 2005 +++ pear-core/PEAR/DependencyDB.php Sun Aug 14 02:49:18 2005 @@ -16,7 +16,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: DependencyDB.php,v 1.27 2005/06/04 03:58:05 cellog Exp $ + * @version CVS: $Id: DependencyDB.php,v 1.28 2005/08/14 06:49:18 cellog Exp $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -484,9 +484,14 @@ $rt = get_magic_quotes_runtime(); set_magic_quotes_runtime(0); clearstatcache(); - $data = unserialize(fread($fp, filesize($this->_depdb))); + if (function_exists('file_get_contents')) { + fclose($fp); + $data = unserialize(file_get_contents($this->_depdb)); + } else { + $data = unserialize(fread($fp, filesize($this->_depdb))); + fclose($fp); + } set_magic_quotes_runtime($rt); - fclose($fp); $this->_cache = $data; return $data; } http://cvs.php.net/diff.php/pear-core/PEAR/Installer.php?r1=1.209&r2=1.210&ty=u Index: pear-core/PEAR/Installer.php diff -u pear-core/PEAR/Installer.php:1.209 pear-core/PEAR/Installer.php:1.210 --- pear-core/PEAR/Installer.php:1.209 Sat May 28 17:46:58 2005 +++ pear-core/PEAR/Installer.php Sun Aug 14 02:49:18 2005 @@ -18,7 +18,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: Installer.php,v 1.209 2005/05/28 21:46:58 cellog Exp $ + * @version CVS: $Id: Installer.php,v 1.210 2005/08/14 06:49:18 cellog Exp $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -316,12 +316,16 @@ return $this->raiseError("file does not exist", PEAR_INSTALLER_FAILED); } - $fp = fopen($orig_file, "r"); - $contents = @fread($fp, filesize($orig_file)); + if (function_exists('file_get_contents')) { + $contents = file_get_contents($orig_file); + } else { + $fp = fopen($orig_file, "r"); + $contents = @fread($fp, filesize($orig_file)); + fclose($fp); + } if ($contents === false) { $contents = ''; } - fclose($fp); if (isset($atts['md5sum'])) { $md5sum = md5($contents); } @@ -498,12 +502,16 @@ return $this->raiseError("file $orig_file does not exist", PEAR_INSTALLER_FAILED); } - $fp = fopen($orig_file, "r"); - $contents = @fread($fp, filesize($orig_file)); // filesize can be 0 + if (function_exists('file_get_contents')) { + $contents = file_get_contents($orig_file); + } else { + $fp = fopen($orig_file, "r"); + $contents = @fread($fp, filesize($orig_file)); // filesize can be 0 + fclose($fp); + } if ($contents === false) { $contents = ''; } - fclose($fp); if (isset($attribs['md5sum'])) { $md5sum = md5($contents); } @@ -1650,8 +1658,13 @@ function md5_file($filename) { $fp = fopen($filename, "r"); if (!$fp) return null; - $contents = fread($fp, filesize($filename)); - fclose($fp); + if (function_exists('file_get_contents')) { + fclose($fp); + $contents = file_get_contents($filename); + } else { + $contents = fread($fp, filesize($filename)); + fclose($fp); + } return md5($contents); } } http://cvs.php.net/diff.php/pear-core/PEAR/PackageFile.php?r1=1.27&r2=1.28&ty=u Index: pear-core/PEAR/PackageFile.php diff -u pear-core/PEAR/PackageFile.php:1.27 pear-core/PEAR/PackageFile.php:1.28 --- pear-core/PEAR/PackageFile.php:1.27 Sun Jul 24 16:11:26 2005 +++ pear-core/PEAR/PackageFile.php Sun Aug 14 02:49:19 2005 @@ -15,7 +15,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: PackageFile.php,v 1.27 2005/07/24 20:11:26 cellog Exp $ + * @version CVS: $Id: PackageFile.php,v 1.28 2005/08/14 06:49:19 cellog Exp $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -180,6 +180,11 @@ } return $pf; } else { + if (true || $this->_config->get('verbose') > 0) { + foreach ($pf->getValidationWarnings(false) as $warning) { + $this->_logger->log(0, 'ERROR: ' . $warning['message']); + } + } $a = PEAR::raiseError('Parsing of package.xml from file "' . $file . '" failed', 2, null, null, $pf->getValidationWarnings()); return $a; @@ -323,7 +328,16 @@ // read the whole thing so we only get one cdata callback // for each block of cdata - $data = @fread($fp, filesize($descfile)); + if (function_exists('file_get_contents')) { + @fclose($fp); + $data = file_get_contents($descfile); + } else { + $data = ''; + while (!feof($fp)) { + $data .= @fread($fp, 8192); + } + fclose($fp); + } $ret = &PEAR_PackageFile::fromXmlString($data, $state, $descfile, $archive); return $ret; } http://cvs.php.net/diff.php/pear-core/PEAR/Packager.php?r1=1.66&r2=1.67&ty=u Index: pear-core/PEAR/Packager.php diff -u pear-core/PEAR/Packager.php:1.66 pear-core/PEAR/Packager.php:1.67 --- pear-core/PEAR/Packager.php:1.66 Sun Mar 20 20:32:16 2005 +++ pear-core/PEAR/Packager.php Sun Aug 14 02:49:19 2005 @@ -17,7 +17,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: Packager.php,v 1.66 2005/03/21 01:32:16 cellog Exp $ + * @version CVS: $Id: Packager.php,v 1.67 2005/08/14 06:49:19 cellog Exp $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -187,8 +187,13 @@ if (!$fd = @fopen($file, 'r')) { return false; } - $md5 = md5(fread($fd, filesize($file))); - fclose($fd); + if (function_exists('file_get_contents')) { + fclose($fd); + $md5 = md5(file_get_contents($file)); + } else { + $md5 = md5(fread($fd, filesize($file))); + fclose($fd); + } return $md5; } } http://cvs.php.net/diff.php/pear-core/PEAR/Registry.php?r1=1.134&r2=1.135&ty=u Index: pear-core/PEAR/Registry.php diff -u pear-core/PEAR/Registry.php:1.134 pear-core/PEAR/Registry.php:1.135 --- pear-core/PEAR/Registry.php:1.134 Wed May 11 23:55:43 2005 +++ pear-core/PEAR/Registry.php Sun Aug 14 02:49:20 2005 @@ -17,7 +17,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: Registry.php,v 1.134 2005/05/12 03:55:43 cellog Exp $ + * @version CVS: $Id: Registry.php,v 1.135 2005/08/14 06:49:20 cellog Exp $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -987,9 +987,14 @@ $rt = get_magic_quotes_runtime(); set_magic_quotes_runtime(0); clearstatcache(); - $data = fread($fp, filesize($this->_packageFileName($package, $channel))); + if (function_exists('file_get_contents')) { + $this->_closePackageFile($fp); + $data = file_get_contents($this->_packageFileName($package, $channel)); + } else { + $data = fread($fp, filesize($this->_packageFileName($package, $channel))); + $this->_closePackageFile($fp); + } set_magic_quotes_runtime($rt); - $this->_closePackageFile($fp); $data = unserialize($data); if ($key === null) { return $data; http://cvs.php.net/diff.php/pear-core/PEAR/PackageFile/v1.php?r1=1.56&r2=1.57&ty=u Index: pear-core/PEAR/PackageFile/v1.php diff -u pear-core/PEAR/PackageFile/v1.php:1.56 pear-core/PEAR/PackageFile/v1.php:1.57 --- pear-core/PEAR/PackageFile/v1.php:1.56 Sat Jul 30 00:29:02 2005 +++ pear-core/PEAR/PackageFile/v1.php Sun Aug 14 02:49:23 2005 @@ -15,7 +15,7 @@ * @author Greg Beaver <cellog@php.net> * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: v1.php,v 1.56 2005/07/30 04:29:02 cellog Exp $ + * @version CVS: $Id: v1.php,v 1.57 2005/08/14 06:49:23 cellog Exp $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -1305,7 +1305,13 @@ if (!$fp = @fopen($file, "r")) { return false; } - $contents = @fread($fp, filesize($file)); + if (function_exists('file_get_contents')) { + fclose($fp); + $contents = file_get_contents($file); + } else { + $contents = @fread($fp, filesize($file)); + fclose($fp); + } $tokens = token_get_all($contents); /* for ($i = 0; $i < sizeof($tokens); $i++) { http://cvs.php.net/diff.php/pear-core/PEAR/PackageFile/Generator/v2.php?r1=1.27&r2=1.28&ty=u Index: pear-core/PEAR/PackageFile/Generator/v2.php diff -u pear-core/PEAR/PackageFile/Generator/v2.php:1.27 pear-core/PEAR/PackageFile/Generator/v2.php:1.28 --- pear-core/PEAR/PackageFile/Generator/v2.php:1.27 Sat May 28 23:25:40 2005 +++ pear-core/PEAR/PackageFile/Generator/v2.php Sun Aug 14 02:49:24 2005 @@ -16,7 +16,7 @@ * @author Stephan Schmidt (original XML_Serializer code) * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: v2.php,v 1.27 2005/05/29 03:25:40 cellog Exp $ + * @version CVS: $Id: v2.php,v 1.28 2005/08/14 06:49:24 cellog Exp $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -216,9 +216,13 @@ unset($orig['attribs']); if (count($orig)) { // file with tasks // run any package-time tasks - $fp = fopen($file, "r"); - $contents = @fread($fp, filesize($file)); - fclose($fp); + if (function_exists('file_get_contents')) { + $contents = file_get_contents($file); + } else { + $fp = fopen($file, "r"); + $contents = @fread($fp, filesize($file)); + fclose($fp); + } foreach ($orig as $tag => $raw) { $tag = str_replace($this->_packagefile->getTasksNs() . ':', '', $tag); $task = "PEAR_Task_$tag"; @@ -879,7 +883,7 @@ // | Authors: Stephan Schmidt <schst@php-tools.net> | // +----------------------------------------------------------------------+ // -// $Id: v2.php,v 1.27 2005/05/29 03:25:40 cellog Exp $ +// $Id: v2.php,v 1.28 2005/08/14 06:49:24 cellog Exp $ /** * error code for invalid chars in XML name http://cvs.php.net/diff.php/pear-core/PEAR/PackageFile/v2/Validator.php?r1=1.69&r2=1.70&ty=u Index: pear-core/PEAR/PackageFile/v2/Validator.php diff -u pear-core/PEAR/PackageFile/v2/Validator.php:1.69 pear-core/PEAR/PackageFile/v2/Validator.php:1.70 --- pear-core/PEAR/PackageFile/v2/Validator.php:1.69 Sat Jul 30 01:05:46 2005 +++ pear-core/PEAR/PackageFile/v2/Validator.php Sun Aug 14 02:49:24 2005 @@ -17,7 +17,7 @@ // | | // +----------------------------------------------------------------------+ // -// $Id: Validator.php,v 1.69 2005/07/30 05:05:46 cellog Exp $ +// $Id: Validator.php,v 1.70 2005/08/14 06:49:24 cellog Exp $ /** * Private validation class used by PEAR_PackageFile_v2 - do not use directly, its * sole purpose is to split up the PEAR/PackageFile/v2.php file to make it smaller @@ -1707,7 +1707,13 @@ if (!$fp = @fopen($file, "r")) { return false; } - $contents = @fread($fp, filesize($file)); + if (function_exists('file_get_contents')) { + fclose($fp); + $contents = file_get_contents($file); + } else { + $contents = @fread($fp, filesize($file)); + fclose($fp); + } } $tokens = token_get_all($contents); /* http://cvs.php.net/diff.php/pear-core/PEAR/Start/CLI.php?r1=1.1&r2=1.2&ty=u Index: pear-core/PEAR/Start/CLI.php diff -u pear-core/PEAR/Start/CLI.php:1.1 pear-core/PEAR/Start/CLI.php:1.2 --- pear-core/PEAR/Start/CLI.php:1.1 Sat Aug 13 18:26:59 2005 +++ pear-core/PEAR/Start/CLI.php Sun Aug 14 02:49:24 2005 @@ -62,7 +62,8 @@ { if (OS_WINDOWS) { print " -Are you installing a system-wide PEAR or a local copy? (system|local) [system] : "; +Are you installing a system-wide PEAR or a local copy? +(system|local) [system] : "; $tmp = trim(fgets($this->tty, 1024)); if (!empty($tmp)) { if (strtolower($tmp) !== 'system') {
« previous php.pear.core (#3520) next »