summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pear/PEAR/Common.php26
1 files changed, 22 insertions, 4 deletions
diff --git a/pear/PEAR/Common.php b/pear/PEAR/Common.php
index 105f691f14..a34db4f727 100644
--- a/pear/PEAR/Common.php
+++ b/pear/PEAR/Common.php
@@ -320,6 +320,9 @@ class PEAR_Common extends PEAR
$this->cdata = '';
switch ($name) {
case 'dir':
+ if ($this->in_changelog) {
+ break;
+ }
if ($attribs['name'] != '/') {
$this->dir_names[] = $attribs['name'];
}
@@ -358,12 +361,16 @@ class PEAR_Common extends PEAR
}
break;
case 'replace':
- $this->filelist[$this->current_path]['replacements'][] = $attribs;
+ if (!$this->in_changelog) {
+ $this->filelist[$this->current_path]['replacements'][] = $attribs;
+ }
break;
case 'libfile':
- $this->lib_atts = $attribs;
- $this->lib_atts['role'] = 'extsrc';
+ if (!$this->in_changelog) {
+ $this->lib_atts = $attribs;
+ $this->lib_atts['role'] = 'extsrc';
+ }
break;
case 'maintainers':
$this->pkginfo['maintainers'] = array();
@@ -386,7 +393,9 @@ class PEAR_Common extends PEAR
case 'release':
if ($this->in_changelog) {
$this->pkginfo['changelog'][$this->c_i] = array();
- $this->current_release =& $this->pkginfo['changelog'][$this->c_i];
+ $this->current_release = &$this->pkginfo['changelog'][$this->c_i];
+ } else {
+ $this->current_release = &$this->pkginfo;
}
break;
case 'deps':
@@ -488,6 +497,9 @@ class PEAR_Common extends PEAR
}
break;
case 'dir':
+ if ($this->in_changelog) {
+ break;
+ }
array_pop($this->dir_names);
break;
case 'file':
@@ -516,6 +528,9 @@ class PEAR_Common extends PEAR
}
break;
case 'libfile':
+ if ($this->in_changelog) {
+ break;
+ }
$path = '';
if (!empty($this->dir_names)) {
foreach ($this->dir_names as $dir) {
@@ -538,6 +553,9 @@ class PEAR_Common extends PEAR
unset($this->lib_name);
break;
case 'libname':
+ if ($this->in_changelog) {
+ break;
+ }
$this->lib_name = $data;
break;
case 'maintainer':