Code cleanup
Description:
Clean up some of the code for writing out dataspace and datatype
information.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small to need h5committest
Bug fix
Description:
H5Gget_objname_by_idx should allow NULL for the 'name' parameter, to allow
for querying for the name's length.
Solution:
Allow NULL for the 'name' parameter, the internal functions were already
ready to handle that case.
Clean up RM information about H5Gget_objname_by_idx and
H5Gget_objtype_by_idx also.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Bug fix
Description:
Correct problem with mis-aligned string pointers on certain architectures
(i.e. on modi4) causing a core dump. The string pointers can be mis-aligned
due to being part of a compound datatype and how our compound type conversion
routines work.
Solution:
Allocate string with temporary variable and memcpy() the pointer to the
new string into the type conversion buffer, instead of dereferencing the type
conversion buffer directly.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Code cleanup
Description:
Remove various "fixtype" routines which duplicate (and actually pre-date)
the functionality in H5Tget_native_type in favor of having the tools call
H5Tget_native_type(). This provides the same functionality (actually better
functionality, since the old "fixtype" routines didn't handle alignment of
compound fields correctly) and reduces the amount of code to maintain.
Add additional tests to dump out a "complex" compound datatype which
exercises more code in the library for aligning compound fields correctly.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Bug fix
Description:
Temporary files were not cleaned out because the definiton of
temporary files had not been updated.
Solution:
Updated it.
Platforms tested:
Tested by hand in Copper while i was testing the MPE change.
Misc. update:
Bug fix
Description:
MPE color definitions were missing for new API.
Solution:
Updated it.
Platforms tested:
Tested by hand in Copper since that is the only place that
MPE option works currently.
Misc. update:
Bug fix
Description:
H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx were
only accepting a group ID, instead of a location ID, as our documentation for
them stated.
Solution:
Allow them to accept a location ID.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
new feature
Description:
Added a new test option of
op-snapshot <option> snapshot option
This allows snapshot.cfg to tell runtest to run snapshot with a
special option.
Platforms tested:
Not h5committest because it is outside of its scope.
Tested by hand.
Misc. update:
Code cleanup & bug fix
Description:
More de-linting...
Also correct a bug that lint exposed which was incrementing the incorrect
driver ID of a file driver and also no saving the correct driver ID for the
newly opened file.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too minor for h5committest
Bug fix
Description:
I/O on chunked datasets with a scalar dataspace for the memory dataspace
was not working correctly.
Solution:
Translate the scalar dataspace into a n-dimensional (where n is the number
of dimensions of the file's dataspace) dataspace of dimensions 1x1x1...
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest (modulo modi4 which is not working correctly)
Code cleanup
Description:
Various cleanups resulting from running lint tool over H5F.c source module
Platforms tested:
FreeBSD 4.8 (sleipnir)
too minor to require h5committest
Code cleanup
Description:
Changed version #'s returned from H5Pget_version from 'int *' to
'unsigned *' since we are never going to be using negative version #'s... :-)
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small to need h5committest
Bug fix
Description:
Linking and unlinking objects with multiple internal and/or trailing '/'s
was not handled well in the library.
Solution:
"Normalize" strings by removing trailing '/'s and collapsing multiple
internal '/'s down into just one '/' before operating on the name.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committested
Clean up Pablo masks
Description:
H5E.c - Moved Pablo mask definition above include files, so it affects
inline functions properly.
H5FDstream.c - Added Pablo mask definition to address daily build failures.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too minor for h5committest
Added comment.
Description:
Call to MPI_Barrier should be unneccessary.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too minor for h5committest
Misc. update:
Code cleanup
Description:
Cleanup H5Pclose code and also switch a few internal users of H5Pclose
to use H5I_dec_ref instead.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small for h5committest
Code cleanup & commentary
Description:
Add comments to the recent FPHDF5 additions to this file to describe why
the changes shouldn't be in this file and attempt to find the proper home for
them.
Platforms tested:
FreeBSD 4.8 (sleipnir)
just comments mostly, no need to run h5committest
Bug fix
Description:
The metadata cache 'destroy' callback routines need the file handle in
order for certain callback routines (currently just the H5HG one) to perform
extra cleanups. The recent change to call the 'destroy' callback from the
'clear' callback omitted this parameter.
Solution:
Add the file handle to the metadata cache 'clear' callbacks.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small to need h5committest
Bug Fix
Description:
With the new datatypes for OIDs, I didn't write the comparison
function correctly.
Solution:
Changed it from:
return oid1 == oid2
to
return oid1 - oid2
Platforms tested:
Linux (FPHDF5 specific)
Misc. update:
Update
Description:
Added an extra flag to the clear functions that triggers a "destroy"
of the object being cleared if necessary. This is a fix for the
FPHDF5 stuff which had an object sticking around after it was
cleared. (In FPHDF5, some processes are in charge of destroying the
object, but all processes might actually allocate the object.)
Platforms tested:
AIX (Copper: Fortran & C++)
Linux (Verbena: Fortran & C++)
IRIX (Modi4: Parallel & Fortran)
(Sol is down)
Misc. update:
Code cleanup
Description:
Ran lint over code & cleaned up warnings.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small of changes to require h5committest
Bug fix
Description:
Allow a user block to be "inserted" in front of a file (probably by
writing a validly-sized userblock to a new file and then appending another
HDF5 file to the new file).
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committested
Updated the copyright notice--mostly by rearranging
some text to make them consistent.
Solution:
Platforms tested:
"h5committested"--sol is down, so, no SUn test.
Misc. update:
New features
Description:
Add options of verbose (-v, -v9) and -fname which limits to
checking file with the file name pattern.
Solution:
Platforms tested:
Did not h5committest which does not cover this command.
Verified it by hand.
Misc. update:
Purpose: Bug fix.
Description: Parallel make fails because Pablo IDs are not assigned.
Solution: Extracted the Pablo IDs into header files and added them to the
pablo subdirectory instead of creating them on the fly.
Platforms tested: h5committested by Albert
Misc. update: Have updated MANIFEXT
Code cleanup, etc.
Description:
Previously (in versions prior to 1.7), there were two locations to
modify when an error was added to the library. Now, with the new error API,
there were four.
Solution:
Created a single text file (src/H5err.txt) and a perl script (bin/make_err)
which uses the text file to automatically create header files that are included
in appropriate places in the library.
This means that there is only one file (src/H5err.txt) which needs to be
modified when a new error code is added to the library. The automatically
generated headers depend on this file and the makefiles will take care of
running the perl script to regenerate them when the text file changes, so no
user action is required when a new error is added.
Platforms tested:
h5committested
Add a macro "elif" for the defination of haddr_t on windows.
Description:
There are no H5_SIZEOF_LONG_LONG for windows; instead H5_SIZEOF____int64 is used.
So for the following macro ifdef-block:
#if H5_SIZEOF_HADDR_T ==H5_SIZEOF_INT # define H5_PRINTF_HADDR_FMT "%u" #elif H5_SIZEOF_HADDR_T ==H5_SIZEOF_LONG # define H5_PRINTF_HADDR_FMT "%lu" #elif H5_SIZEOF_HADDR_T ==H5_SIZEOF_LONG_LONG # define H5_PRINTF_HADDR_FMT "%"H5_PRINTF_LL_WIDTH"u" #else # error "nothing appropriate for H5_PRINTF_HADDR_FMT" #endif
The error will be generated.
Solution:
Add another "elif H5_SIZEOF_HADDR_T==H5_SIZEOF___INT64" after the last "elif" above so that it
can generate the correct result on windows.
Platforms tested:
Since the change is so small, only test on windows and linux.
Misc. update:
update project to include the new h5import support.
Description:
project h5import was linking with an old h5import.c file under tools/misc,
it compiled okay, but it was not doing what it is supposed to do.
Solution:
link the project with new h5import.c under tools/h5import.
A suggestion is to remove old files from CVS tree or source distribution if they are no longer useful.
Platforms tested:
windows 2000
Misc. update: