projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix typo on DEMO(N)STRATE
[spider.git]
/
perl
/
DXDb.pm
diff --git
a/perl/DXDb.pm
b/perl/DXDb.pm
index 25e7c0827d3f0d2d0d7fd7f30d32c59ab60640ca..db26d4aacf5b8329732e132e4ad7c303061cdc91 100644
(file)
--- a/
perl/DXDb.pm
+++ b/
perl/DXDb.pm
@@
-12,8
+12,7
@@
use DXVars;
use DXLog;
use DXUtil;
use DB_File;
use DXLog;
use DXUtil;
use DB_File;
-
-use Carp;
+use DXDebug;
use vars qw($opentime $dbbase %avail %valid $lastprocesstime $nextstream %stream);
use vars qw($opentime $dbbase %avail %valid $lastprocesstime $nextstream %stream);
@@
-49,6
+48,12
@@
$lastprocesstime = time;
$nextstream = 0;
%stream = ();
$nextstream = 0;
%stream = ();
+use vars qw($VERSION $BRANCH);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0;
+$main::build += $VERSION;
+$main::branch += $BRANCH;
+
# allocate a new stream for this request
sub newstream
{
# allocate a new stream for this request
sub newstream
{
@@
-77,9
+82,10
@@
sub load
{
my $s = readfilestr($dbbase, "dbs", "pl");
if ($s) {
{
my $s = readfilestr($dbbase, "dbs", "pl");
if ($s) {
- my $a = { eval $s } ;
+ my $a;
+ eval "\$a = $s";
confess $@ if $@;
confess $@ if $@;
- %avail =
%{$a} if $a
+ %avail =
( %$a ) if ref $a;
}
}
}
}
@@
-256,18
+262,18
@@
sub process
my $db = getdesc($f[4]);
if ($db) {
if ($db->{remote}) {
my $db = getdesc($f[4]);
if ($db) {
if ($db->{remote}) {
- sendremote($dxchan, $f[2], $f[3], $dxchan->msg('d
x
1', $db->{remote}));
+ sendremote($dxchan, $f[2], $f[3], $dxchan->msg('d
b
1', $db->{remote}));
} else {
my $value = $db->getkey($f[5]);
if ($value) {
my @out = split /\n/, $value;
sendremote($dxchan, $f[2], $f[3], @out);
} else {
} else {
my $value = $db->getkey($f[5]);
if ($value) {
my @out = split /\n/, $value;
sendremote($dxchan, $f[2], $f[3], @out);
} else {
- sendremote($dxchan, $f[2], $f[3], $dxchan->msg('d
x
2', $f[5], $db->{name}));
+ sendremote($dxchan, $f[2], $f[3], $dxchan->msg('d
b
2', $f[5], $db->{name}));
}
}
} else {
}
}
} else {
- sendremote($dxchan, $f[2], $f[3], $dxchan->msg('d
x
3', $f[4]));
+ sendremote($dxchan, $f[2], $f[3], $dxchan->msg('d
b
3', $f[4]));
}
last SWITCH;
}
}
last SWITCH;
}
@@
-348,6
+354,9
@@
sub AUTOLOAD
$name =~ s/.*:://o;
confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
$name =~ s/.*:://o;
confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
+ # this clever line of code creates a subroutine which takes over from autoload
+ # from OO Perl - Conway
+ *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
@_ ? $self->{$name} = shift : $self->{$name} ;
}
@_ ? $self->{$name} = shift : $self->{$name} ;
}