Once again syncing after too long an absence
[p5sagit/p5-mst-13.2.git] / lib / warnings / register.pm
CommitLineData
ee8c7f54 1package warnings::register ;
2
0e06870b 3our $VERSION = '1.00';
4
4b19af01 5=pod
6
7=head1 NAME
8
9warnings::register - warnings import function
10
11=cut
12
ee8c7f54 13require warnings ;
14
15sub mkMask
16{
17 my ($bit) = @_ ;
18 my $mask = "" ;
19
20 vec($mask, $bit, 1) = 1 ;
21 return $mask ;
22}
23
24sub import
25{
26 shift ;
27 my $package = (caller(0))[0] ;
28 if (! defined $warnings::Bits{$package}) {
29 $warnings::Bits{$package} = mkMask($warnings::LAST_BIT) ;
30 vec($warnings::Bits{'all'}, $warnings::LAST_BIT, 1) = 1 ;
31 $warnings::Offsets{$package} = $warnings::LAST_BIT ++ ;
32 foreach my $k (keys %warnings::Bits) {
33 vec($warnings::Bits{$k}, $warnings::LAST_BIT, 1) = 0 ;
34 }
35 $warnings::DeadBits{$package} = mkMask($warnings::LAST_BIT);
36 vec($warnings::DeadBits{'all'}, $warnings::LAST_BIT++, 1) = 1 ;
37 }
38}
39
401 ;