bug in crossref for php4 due to PHP4 bad semantics

This commit is contained in:
Martin Monperrus
2010-10-11 12:41:05 +02:00
parent acea9e2777
commit a98368b6ac
+4 -2
View File
@@ -617,7 +617,7 @@ class BibDBBuilder {
var $currentEntry;
function BibDBBuilder($filename, $builtdb = array(), $stringdb = array()) {
function BibDBBuilder($filename, &$builtdb, &$stringdb) {
$this->builtdb = $builtdb;
$this->stringdb = $stringdb;
new StateBasedBibtexParser($filename, $this);
@@ -629,7 +629,9 @@ class BibDBBuilder {
function endFile() {
// resolving crossrefs
foreach ($this->builtdb as $bib) {
// we are careful with PHP 4 semantics
foreach (array_keys($this->builtdb) as $key) {
$bib = &$this->builtdb[$key];
if ($bib->hasField('crossref')) {
if (isset($this->builtdb[$bib->getField('crossref')])) {
$crossrefEntry = $this->builtdb[$bib->getField('crossref')];