Bug Fixes
Problem:
Warnings given during compilation on some machines.
Solution:
Take care of various Compiler Warnings such as:
1) uninitialized variables;
2) unreachable statements.
Platforms tested:
Solaris2.5, Linux, Irix6.5
----------------------
./configure.in
./acconfig.h
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
./src/H5public.h
./src/H5Omtime.c
Check for <stddef.h>
Checks for `__tm_gmtoff' in `struct tm' because old versions
of GNU libc are different than recent versions. This fixes the
failing mtime test.
./bin/config.guess
./config/freebsd2.2.7 [REMOVED]
./config/freebsd [ADDED]
Changed the name so it works with all versions of FreeBSD.
./src/H5.c
Moved H5F after H5T and H5G in H5_term_library() to satisfy
dependencies.
./src/H5G.c
Fixed a bug that caused H5Gcreate() to fail if the group name
had trailing slashes.
./src/H5Gpublic.h
Changed `group_name' to `name' in a prototype.
./src/Makefile.in
Dynamic library on Linux, but needs for work to be generally
useful.
./src/H5HG.c
./src/H5HGprivate.h
Fixed alignment problems when using old GCC compilers (like
the one shipped with RedHad Linux).
./tools/h5ls.c
Fixed a bug where the contents of the root group could be
listed twice if there was a link back to the root
group. Similarly for groups that are mentioned on the command
line.
Fixed a bug where unknown types were printed with a random
type class number.
./src/H5T.c
./src/H5Tconv.c
./src/H5Tprivate.h
Fixed O(log N) conversion bugs.
Hard coded against intN_t types. They are not supported
by Intel Red but configure thinks they are by default for
cross-compiler. (Need a better solution for this.)
Bug fix
Problem:
Did a H5get_type() on a dataset of committed type without doing
the associated H5Tclose(). This caused an abort to occur during the
atexit() phase of the h5toh4 converter.
Solution:
Execute the associated H5Tclose().
Platform tested:
Solaris2.5
Bug fix
Problem:
The hdp dumper output files used in the h5toh4 converter test
program have the result of the latest changes to the HDF4 library,
but the converter was to maintain compatability with HDF4.1r2.
Solution:
Regenerate the HDF4.1r2 version of the hdp dumper ouput files to
be used for the h5toh4 converter test program.
Platform tested:
Solaris2.5
New feature
Solution:
Modified h5dumptst.c to generate more single dimension
datasets of H5T_STRING type held in file tstr2.h5.
Platform tested:
Solaris2.5
New feature
Solution:
Changes to support conversion of 1-dimensional HDF5 datasets of
H5T_STRING type into HDF4 Vdatas. Also, support conversion of
HDF5 attribute of string type into HDF4 attribute of INT8 type.
Dimensional information is lost.
Platform tested:
Solaris2.5
Bug fix
Problem:
Depending on how the string size changes, different buffers are used
when copying from one array of strings to another array of strings.
An ASSERTION() is set up to check the validity of the buffer being
used for each element of the string array being copied. This
ASSERTION() fails for a 10 element string array of string length 42
being copied to a 10 element string array of string length 50.
Solution:
The overlap variable (olap) is calculated slightly differently.
Also, since olap and nelmts are unsigned types, the conditional
assignment:
d = elmtno >= nelmts-olap ? dbuf : dp
should be rewitten as:
d = elmtno+olap >= nelmts ? dbuf : dp
This same problem/solution may exist in H5T_conv_i_i(), and
H5T_conv_f_f().
Platform tested:
Solaris2.5
Added a new test to verify the MPIO can support independent
overlapping writes.
testphdf5.c:
Bracketed the MPIO write test with a #ifdef so that it is
tested only when the explicitely turned on.
Platform tested:
O2K.
----------------------
./tools/h5tools.c
Strings are not converted to null-padding before being
printed; they are printed with whatever byte values appear in
the file.
./tools/h5ls.c
Now able to display attribute data type and data.
Added a `-f' or `--full' switch which causes the full name of
each object to be displayed instead of just the base name.
Added a `-r' or `--recursive' switch that recursively prints
the contents of groups, avoiding cycles.
More bulletproofing for non-printable characters in things
like object names, attribute names, and comment strings. We
don't want listing a file to send termal escape sequences
because it's sometimes possible to execute commands that way.
Since h5ls doesn't usually use quotes around object names we
must sometimes escape space characters.
External files are listed in a table to make the output less
confusing.
./tools/h5tools.c
./tools/h5tools.h
Changed h5dump() to h5dump_dset() and added h5dump_mem(). Also
make h5dump_fixtype() public.
./test/dtypes.c
Wrote some data to an attribute to test h5ls attribute
printing.
./src/H5ACprivate.h
./src/H5Apublic.h
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5Epublic.h
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gprivate.h
./src/H5HLprivate.h
./src/H5Oprivate.h
./src/H5Ppublic.h
./src/H5RApublic.h
./src/H5Rpublic.h
./src/H5Spublic.h
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5Vprivate.h
./src/H5Zpublic.h
./src/H5private.h
./src/H5public.h
Reindented function prototypes after `HDF5API' was added. Also
rewrapped long lines.
./src/H5Flow.c
Added an `#ifdef WIN32' around an unused variable.
./src/H5api_adpt.h
Removed extra carriage returns inserted by "broken" operating
system.
./src/H5Dprivate.h
./src/H5Oprivate.h
./src/H5Vprivate.h
./src/H5private.h
Removed extraneous inclusion of H5api_adpt.h since it's
included in H5public.h which is included by everything.
./src/Makefile.in
Added H5api_adpt.h to the list of public header files to fix
broken `make install'.
----------------------
./tools/h5tools.c
Strings are not converted to null-padding before being
printed; they are printed with whatever byte values appear in
the file.