Commit | Line | Data |
d3a7d8c7 |
1 | package warnings::register ; |
2 | |
3 | require warnings ; |
4 | |
5 | sub mkMask |
6 | { |
7 | my ($bit) = @_ ; |
8 | my $mask = "" ; |
9 | |
10 | vec($mask, $bit, 1) = 1 ; |
11 | return $mask ; |
12 | } |
13 | |
14 | sub import |
15 | { |
16 | shift ; |
17 | my $package = (caller(0))[0] ; |
18 | if (! defined $warnings::Bits{$package}) { |
19 | $warnings::Bits{$package} = mkMask($warnings::LAST_BIT) ; |
20 | vec($warnings::Bits{'all'}, $warnings::LAST_BIT, 1) = 1 ; |
21 | $warnings::Offsets{$package} = $warnings::LAST_BIT ++ ; |
22 | foreach my $k (keys %warnings::Bits) { |
23 | vec($warnings::Bits{$k}, $warnings::LAST_BIT, 1) = 0 ; |
24 | } |
25 | $warnings::DeadBits{$package} = mkMask($warnings::LAST_BIT); |
26 | vec($warnings::DeadBits{'all'}, $warnings::LAST_BIT++, 1) = 1 ; |
27 | } |
28 | } |
29 | |
30 | 1 ; |