+$fp = undef;
+$callback = undef;
+$keepdays = 10;
+$cleandays = 100;
+$dbgringlth = 500;
+
+our $no_stdout; # set if not running in a terminal
+our @dbgring;
+
+# Avoid generating "subroutine redefined" warnings with the following
+# hack (from CGI::Carp):
+if (!defined $DB::VERSION) {
+ local $^W=0;
+ eval qq( sub confess {
+ \$SIG{__DIE__} = 'DEFAULT';
+ DXDebug::dbgprintring() unless DXDebug::isdbg('chan');
+ DXDebug::dbgclearring();
+ DXDebug::dbg(\$@);
+ DXDebug::dbg(Carp::shortmess(\@_));
+ exit(-1);
+ }
+ sub croak {
+ \$SIG{__DIE__} = 'DEFAULT';
+ DXDebug::dbgprintring() unless DXDebug::isdbg('chan');
+ DXDebug::dbgclearring();
+ DXDebug::dbg(\$@);
+ DXDebug::dbg(Carp::longmess(\@_));
+ exit(-1);
+ }
+ sub carp { DXDebug::dbg(Carp::shortmess(\@_)); }
+ sub cluck { DXDebug::dbg(Carp::longmess(\@_)); }
+ );
+
+ CORE::die(Carp::shortmess($@)) if $@;
+}
+else {
+ eval qq( sub confess { die Carp::longmess(\@_); };
+ sub croak { die Carp::shortmess(\@_); };
+ sub cluck { warn Carp::longmess(\@_); };
+ sub carp { warn Carp::shortmess(\@_); };
+ );
+}
+
+
+my $_isdbg; # current dbg level we are processing