bug in crossref for php4 due to PHP4 bad semantics
This commit is contained in:
+4
-2
@@ -617,7 +617,7 @@ class BibDBBuilder {
|
|||||||
|
|
||||||
var $currentEntry;
|
var $currentEntry;
|
||||||
|
|
||||||
function BibDBBuilder($filename, $builtdb = array(), $stringdb = array()) {
|
function BibDBBuilder($filename, &$builtdb, &$stringdb) {
|
||||||
$this->builtdb = $builtdb;
|
$this->builtdb = $builtdb;
|
||||||
$this->stringdb = $stringdb;
|
$this->stringdb = $stringdb;
|
||||||
new StateBasedBibtexParser($filename, $this);
|
new StateBasedBibtexParser($filename, $this);
|
||||||
@@ -629,7 +629,9 @@ class BibDBBuilder {
|
|||||||
|
|
||||||
function endFile() {
|
function endFile() {
|
||||||
// resolving crossrefs
|
// 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 ($bib->hasField('crossref')) {
|
||||||
if (isset($this->builtdb[$bib->getField('crossref')])) {
|
if (isset($this->builtdb[$bib->getField('crossref')])) {
|
||||||
$crossrefEntry = $this->builtdb[$bib->getField('crossref')];
|
$crossrefEntry = $this->builtdb[$bib->getField('crossref')];
|
||||||
|
|||||||
Reference in New Issue
Block a user