** src/H5Tconv.c
** src/H5Tpkg.h
** src/H5Tpublic.h
The H5T_conv_struct_opt() function had a design flaw -- it
didn't keep information about the stride to use to step
through the temporary/background-value buffer and thus nested
invocations would clobber each other's temp buffers. This was
fixed by splitting the `stride' argument into `buf_stride' and
`bkg_stride' arguments for all the conversion functions. THIS
IS AN API CHANGE, but users will get a compiler warning when
they pass their conversion function pointer to H5Tregister().
** src/H5T.c
** src/H5Tprivate.h
Added a bkg_stride argument to the H5T_convert() definition in
order to fix a bug related to the optimized compound datatype
conversion function.
** src/H5T.c
** src/H5A.c
** src/H5D.c
** src/H5Ofill.c
** src/H5P.c
Added bkg_stride=0 argument to the H5T_convert() calls.
** test/dtypes.c
Added a test for the H5T_conv_struct_opt() bug fixed above.
** src/H5FL.c
The H5FL_term() function should return non-zero even when it
couldn't free all the free lists do to their being used by
some other package. When that other package terminates it
will return non-zero, causing H5FL_term() to be called
again. This fixes some of the `infinite loop closing library'
messages.
** tools/pdb2hdf
Uses print_version() instead of doing that itself.
** src/H5Ppublic.h
Renamed H5Pget_gc_reference() declaration to make it match the
definition.
** src/H5FDlog.c
Added API tracing macros.
Removed `const' qualifier from a `char*' member of a struct
which was allocated on the heap.
** src/H5TB.c
Added curly braces to a couple deeply-nested `if' statements
to make them clearer and to shut up the increadibly stupid and
just plain incorrect gcc warning about ambiguous `else'.
** test/titerate.c
Removed incomplete initialization in favor of memset() for one
auto variable to stop compiler warnings.
** tools/Depencencies
Regenerated to remove references to h5dumputil.c
conditional compile statements in the code to compile for the release.
defined a VERSION12 and VERSION13 macro. all changes were surrounded by these statements
from h5tools.h just got rid of a prototype for copy_atmoic_char which was never used
in the h5tools.c i removed the copy_atomic_char, all the display_*_data, where the * is numeric, string
or compound, the print_data, h5dump_attr. also removed a block of codfe that was surrounded by #if 0
Prints the subrelease name also.
** tools/h5tools.c
Fixed indentation problems in the first half of the file.
Changed conditional compilation style from `/*...*/' to use
#if 0/#endif in the first half of this file.
Removed some extra parentheses to make expressions more readable.
macros in the dumper. this was basically adding a space after most of the '}'.
there are some places that don't have the space because those '}' were not printed
by the end_obj macro
the header information in the dumper. the header is the part before the data
block.
in h5dump.c there is support for the new -xml option. prints the output in xml
using the structure we just defined in h5tools.h.
h5dump.h- changed the begin_obj and end_obj macros. take an extra parameter now
Bug fix.
Description:
Failed on T3E in which int32 is typedef to a short (4 bytes)
but the converter just used H5T_NATIVE_INT for conversion of
a STD_INT32. Int in a T3E is actually 64bit big.
Solution:
Recoded the h5type to h4type matching algorithm by making sure
the size of the H4 type used is equal to the size of the
H5 native type.
Remark: current implementation is not efficient--it does all
the sizes checking repeatedly. Should have done the type mapping
once at the beginning as initialization.
Old code are still retain via the macro NEWWAY. Need to verify
the correctness of the converter in more platforms before
finalized on the code.
Platforms tested:
Baldric (Solaris 2.6), arabica (Solaris 2.7)
T3E