diff -ru Enbugger-2.016-orig/Enbugger.xs Enbugger-2.016/Enbugger.xs
--- Enbugger-2.016-orig/Enbugger.xs 2014-04-26 01:58:29.000000000 +1000
+++ Enbugger-2.016/Enbugger.xs 2014-05-15 10:51:28.000000000 +1000
@@ -231,13 +231,12 @@
Enbugger_set_magic_dbfile(rv)
SV *rv
INIT:
- HV *hv;
+ GV *gv;
CODE:
assert(SvROK(rv));
-
- hv = (HV*) SvRV(rv);
- assert(SVt_PVHV == SvTYPE(hv));
- hv_magic(hv, NULL, PERL_MAGIC_dbfile);
+ gv = (GV*)SvRV(rv);
+ assert(SVt_PVGV == SvTYPE(gv));
+ hv_magic(GvHVn(gv), GvAVn(gv), PERL_MAGIC_dbfile);
diff -ru Enbugger-2.016-orig/lib/Enbugger.pm Enbugger-2.016/lib/Enbugger.pm
--- Enbugger-2.016-orig/lib/Enbugger.pm 2014-04-26 01:58:29.000000000 +1000
+++ Enbugger-2.016/lib/Enbugger.pm 2014-05-15 10:51:28.000000000 +1000
@@ -356,11 +356,11 @@
if ( not defined $file ) {
*DB::dbline = [];
*DB::dbline = {};
- Enbugger::set_magic_dbfile( \%DB::dbline );
}
else {
no strict 'refs';
*DB::dbline = \*{"main::_<$file"};
+ Enbugger::set_magic_dbfile( \*DB::dbline );
}
}
@@ -399,8 +399,8 @@
if ( ! *$glob{HASH} ) {
my %breakpoints;
- Enbugger::set_magic_dbfile(\%breakpoints);
*$glob = \%breakpoints;
+ Enbugger::set_magic_dbfile($glob);
}
$$symname ||= $file;