Commit | Line | Data |
d3a7d8c7 |
1 | package warnings::register ; |
2 | |
b75c8c73 |
3 | our $VERSION = '1.00'; |
4 | |
4755096e |
5 | =pod |
6 | |
7 | =head1 NAME |
8 | |
9 | warnings::register - warnings import function |
10 | |
11 | =cut |
12 | |
d3a7d8c7 |
13 | require warnings ; |
14 | |
15 | sub mkMask |
16 | { |
17 | my ($bit) = @_ ; |
18 | my $mask = "" ; |
19 | |
20 | vec($mask, $bit, 1) = 1 ; |
21 | return $mask ; |
22 | } |
23 | |
24 | sub 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 | |
40 | 1 ; |