home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / lib / warnings / register.pm
Text File  |  2000-03-12  |  722b  |  31 lines

  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 ;
  31.