You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							37 lines
						
					
					
						
							952 B
						
					
					
				
			
		
		
	
	
							37 lines
						
					
					
						
							952 B
						
					
					
				| #!/usr/bin/env perl
 | |
| #
 | |
| # Copyright by The HDF Group.
 | |
| # All rights reserved.
 | |
| #
 | |
| # This file is part of HDF5.  The full HDF5 copyright notice, including
 | |
| # terms governing use, modification, and redistribution, is contained in
 | |
| # the COPYING file, which can be found at the root of the source code
 | |
| # distribution tree, or in https://www.hdfgroup.org/licenses.
 | |
| # If you do not have access to either file, you may request a copy from
 | |
| # help@hdfgroup.org.
 | |
| #
 | |
| require 5.003;
 | |
| 
 | |
| # Looks for lines emitted by H5O_open() and H5O_close() and tries to
 | |
| # determine which objects were not properly closed.
 | |
| 
 | |
| while (<>) {
 | |
|    next unless /^([<>])(0x[\da-f]+|\d+)$/;
 | |
|    my ($op, $addr) = ($1, $2);
 | |
| 
 | |
|    if ($op eq ">") {
 | |
|       # Open object
 | |
|       $obj{$addr} += 1;
 | |
|    } else {
 | |
|       # Close object
 | |
|       die unless $obj{$addr}>0;
 | |
|       $obj{$addr} -= 1;
 | |
|       delete $obj{$addr} unless $obj{$addr};
 | |
|    }
 | |
| }
 | |
| 
 | |
| for (sort keys %obj) {
 | |
|    printf "%3d %s\n", $obj{$_}, $_;
 | |
| }
 | |
| 
 | |
| exit 0;
 | |
| 
 |