diff -ruN infobot-devel/src/DBM.pl infobot-devel-new/src/DBM.pl --- infobot-devel/src/DBM.pl Tue Oct 26 11:24:25 1999 +++ infobot-devel-new/src/DBM.pl Tue Oct 26 11:40:39 1999 @@ -99,6 +99,13 @@ return $was; } + my $trace=$val; + while ($trace=~/^ (.*)/ and exists $$dbname{$1}) { + push @stack, $trace; + $trace=$$dbname{$1}; + if (grep {$_ eq $trace} @stack) { return "That would be circular" } + } + $dbname = "$DBprefix$db"; my $was = $$dbname{$key}; $$dbname{$key} = $val; @@ -142,8 +149,11 @@ $db = "$DBprefix$db"; + my $factoid=${$db}{$key}; + $factoid=${$db}{$1} # Mmm, linked lists! + while $factoid =~/^ (.*)/i and exists ${$db}{$1}; - return ${$db}{$key}; + return $factoid; } sub whatdbs {