hdf5/bin/debug-ohdr
Larry Knox 89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
  Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
  Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
  Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
  Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
2017-04-25 16:05:36 -05:00

39 lines
1.0 KiB
Perl
Executable File

#!/usr/bin/perl
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# 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://support.hdfgroup.org/ftp/HDF5/releases.
# 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;