mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
79d65106ab
---------------------- ./src/H5Flow.c ./src/H5Fprivate.h ./src/H5Fsplit.c Changed the allocation size request from `size_t' to `hsize_t' because it was overflowing for the `big' test. ./src/H5detect.c If `long double' and `double' are the same size then we define H5T_NATIVE_LDOUBLE to be the same as H5T_NATIVE_DOUBLE. Similarly for `long' vs. `long long' and `unsigned long' vs. `unsigned long long'. ./test/Makefile.in Added `big' to the list of tests to normally run. ./test/big.c Added a check to see if the file system supports holes and if it doesn't then the test is skipped. ./RELEASE Added a couple minor details details about API tracing and symbolic links. ./src/H5public.h Added comments about the use of hbool_t. Fixed a comment spelling error. ./test/testhdf5.h Changed the way the version number is printed. The old method was `hdf5-1.2.3d' and the new method is `hdf5 version 1.2 release 3' ./tools/h5ls.c Only prints the max dimension if it differs from the current dimension or if verbose mode is enabled. Added switches `-?', `-h', and `--help' to print a usage message. Added switches `-v' and `--verbose' to generate more verbose output. Added switches `-V' and `--version' to print the version number and exit. The version number is printed like: This is h5ls version 1.0 release 24' ./bin/h5vers [NEW] This script prints, sets, and/or increments the hdf5 version number. It can be run from the top directory or any of the child directories like src, tools, test, etc. Some examples: $ h5vers # Display current version 1.0.24 $ h5vers -v version 1.0 release 24 # Display current version. $ h5vers -s 5.2.8 # Set version and display 5.2.8 $ h5vers -s 2.1 2.1.0 $ h5vers -s hdf5-1.0.24a.tar.bz2 1.0.24 $ h5vers -s 'version 2.0 release 8' 2.0.8 $ h5vers -s 'junk 22 junk 33 more junk 66 and 99 junk' 33.66.99 $ h5vers -i major # Increment from 1.0.24 2.0.0 $ h5vers -i minor # Increment from 1.0.24 1.1.0 $ h5vers -i release # Increment from 1.0.24 1.0.25 $ h5vers ~/hdf5/src/H5public.h # Use an alternate file 1.0.24 ./bin/checkapi [NEW] Run from the src directory with arguments H5[A-Z]*.c and it will print the locations of each place where an API function was called from within the library. Use it as the compile or grep command under Emacs and you can C-x ` through the list. ./bin/debug-ohdr [NEW] Keeps track of H5O_open() and H5O_close() debugging messages and lists the file addresses of the object headers that are opened but never closed. You must enable the `o' debugging at configuration time and pipe stderr into this script. ./bin/errors Added a note to indicate that this script no longer works because of changes in the HRETURN_ERROR() and HGOTO_ERROR() macros. ./bin/iostats [NEW] Watches output from the Linux strace program and accumulates statistics about low-level access to an hdf5 file. The output is a list of 2d data points which can be plotted by gnuplot to show file seeking behavior. ./MANIFEST Added new files.
64 lines
1.7 KiB
Perl
Executable File
64 lines
1.7 KiB
Perl
Executable File
#!/usr/local/bin/perl -w
|
|
require 5.003;
|
|
|
|
# Copyright (C) 1997 National Center for Supercomputing Applications.
|
|
# All rights reserved.
|
|
#
|
|
# Robb Matzke, matzke@llnl.gov
|
|
# 30 Aug 1997
|
|
#
|
|
# Purpose: Given the names of C source files this script will print the
|
|
# file name, line number, and function name of any function that
|
|
# doesn't begin with the letter `h' or `H' as stipulated by the
|
|
# HDF5 programming style guide.
|
|
#
|
|
# Emacs users can run this script as the compile command and
|
|
# use `next-error' (usually bound to M-`) to find each name
|
|
# violation.
|
|
|
|
while (<>) {
|
|
|
|
# Get rid of comments by removing the inside part.
|
|
s|/\*.*?\*/||g;
|
|
if ($in_comment) {
|
|
if (/\*\//) {
|
|
s|.*?\*/||;
|
|
$in_comment = 0;
|
|
} else {
|
|
$_="\n";
|
|
}
|
|
} elsif (m|/\*|) {
|
|
s|/\*.*||;
|
|
$in_comment = 1;
|
|
}
|
|
|
|
# Get rid of string constants if they begin and end on this line.
|
|
s/([\'\"])([^\1]|\\\1)*?\1/$1$1/g;
|
|
|
|
# Get rid of preprocessor directives
|
|
s/^\#.*//;
|
|
|
|
# Now find all function calls on this line
|
|
while (($name)=/\b([a-gi-z_A-GI-Z]\w*)\s*\(/) {
|
|
$_ = $';
|
|
|
|
# Ignore C statements that look sort of like function
|
|
# calls.
|
|
next if $name =~ /^(if|for|return|sizeof|switch|while|void)$/;
|
|
|
|
# These are really HDF5 functions/macros even though they don't
|
|
# start with `h' or `H'.
|
|
next if $name =~ /^FUNC_(ENTER|LEAVE)(_INIT)?$/;
|
|
next if $name =~ /^U?INT(8|16|32|64)(ENCODE|DECODE)$/;
|
|
next if $name =~ /^(MIN|MAX3?|NELMTS|BOUND|CONSTR)$/;
|
|
|
|
# These functions/macros are exempt.
|
|
next if $name =~ /^(assert|main|[fs]?printf)$/;
|
|
|
|
print "$ARGV:$.: $name\n";
|
|
}
|
|
|
|
} continue {
|
|
close ARGV if eof;
|
|
}
|