Backward Compatibility Fix
Description:
One of H5P[gs]et_sym_k's parameters changed between v1.4 and the development
branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_sym_k implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Backward Compatibility Fix
Description:
One of H5P[gs]et_cache's parameters changed between v1.4 and the development
branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Eliminated warnings
Description:
On IRIX and Windows 98, if a function, that returns a value, throws
an exception in "else" statement, the compiler still complains that
the function doesn't return a value.
Solution:
Replaced:
if (something valid)
return a value
else
throw an exception
with:
if (something invalid)
throw an exception
return a value
Platforms tested:
Windows 98
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
IRIX64 (modi4) - only tested that the warnings went away, still working
on other configuration problems.
Purpose:
Code Cleanup and Feature Add
Description:
Finally checking in the changes I made to the performance code. It
just modularizes it a bit more and performs some more checks, etc. I
also renamed the timer functions to be more inline with how other
things are named here...
Platforms tested:
Linux
Bug fix
Description:
Missing a statement for an else branch when HAVE_GETTIMEOFDAY was defined,
which caused most machines to fail compiling.
Solution:
Re-arranged if/else statement to eliminate problem.
Platforms tested:
FreeBSD 4.4 (sleipnir)
Code cleanup
Description:
Changed the logging file driver to use bitmasked flags for features to
enable, instead of using a verbosity level.
Platforms tested:
Solaris 2.6 (baldric)
Purpose:
Bug Fix
Description:
We needed to support C++ on SP3. Libtool was putting a "-bnso" flag
on the compile line. This was causing the C++ compiler to barf..
Solution:
Removed the line.
Platforms tested:
OSF5.1
Purpose:
a minor bug on H5T.c
Description:
should be HEREUTRN_ERROR(...,...,int,...)
instead of HERUTRN_ERROR(...,...,int*,...)
Solution:
change HERETURN_ERROR(...,...,NULL,...) into HERETURN_ERROR(...,...,FAIL,...)
Platforms tested:
windows 2000
Bug fix
Description:
Moved some executable code out of an assert() and check the results of the
code with an assert().
Platforms tested:
Solaris 2.6 (baldric)
Purpose:
Bug fix
Description:
Somehow I forgot to add DEC compiler directives to the H5Eff.f90
file. Linking failed on OSF 5.1
Solution:
Added necessary compiler directives for name translations.
Platforms tested:
Not tested yet but without this change it would fail.
Bug fix
Description:
Changed return value from "FAIL" to "NULL" for error condition, which was
caused the SGI machines testing the GASS drivers to fail over the weekend.
Platforms tested:
IRIX64 6.5 (modi4)
Bug fix
Description:
Fix typo which caused thread-safe tests to fail over the weekend.
Platforms tested:
IRIX64 6.5 (modi4) with thread-safe code enabled.
Bug Fix
Description:
Replace an 'if' statement taken out in commit earlier today which was
necessary for routing around endian conversions when zero elements were
converted.
Platforms tested:
IRIX64 6.5 (modi4)
Code cleanup
Description:
Windows is generating hundreds of warnings from some of the practices in
the library. Mostly, they are because size_t is 32-bit and hsize_t is
64-bit on Windows and we were carelessly casting the larger values down to
the smaller ones without checking for overflow.
Also, some other small code cleanups,etc.
Solution:
Re-worked some algorithms to eliminate the casts and also added more
overflow checking for assignments and function parameters which needed
casts.
Kent did most of the work, I just went over his changes and fit them into
the the library code a bit better.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Code cleanup
Description:
Added macro to check for overflows when assigning a value to a variable
which requires a cast down in size or precision.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Bug fix
Description:
Error messages were printed to the file and standard output regardless
of the parameters passed to the h5eprint_f function. h5eprintc function
did not close the file with the error output. Fixed.
Platforms tested:
arabica and eirene
Code cleanup (sorta)
Description:
H5_SIZEOF_HSIZE_T was missing from among the definitions we provide for
the variables we declare.
Solution:
Added it.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
A couple more compile problems from the recent elimination of IDs from
internal function calls.
Platforms tested:
IRIX64 6.5 (modi4)
Bug fix.
Description:
Builds for parallel testing exposed some places that I forgot to get rid of
using IDs in internal APIs.
Solution:
Switch sections of code to use proper data structures instead of IDs.
Platforms tested:
Parallel compiles from daily tests.
Code cleanup
Description:
Got rid of IDs from internal API functions and also got rid of API calls
from internal functions.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Code cleanup & bug fixes
Description:
Clean up memory leaks when shutting down H5P API.
Remove all IDs from internal API calls, except for H5P_isa_class, which
should be the only internal API call which accepts an ID besides the H5I*
functions.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix & code cleanup
Description:
Be much more careful when closing all the IDs in an ID group, re-flush
the ID cache after each ID closed, since the close callback for an ID could
get back into the ID API code and create havoc.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Code cleanup
Description:
Be more careful when starting up and shutting down APIs, only initialize
variables which are actually shut down already.
Get rid of IDs from internal function calls
Platforms tested:
FreeBSD 4.4 (hawkwind)
Code cleanup
Description:
Get rid of IDs from internal function calls and some small cleanups from
the old-stype => generic property list conversion.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Code cleanup
Description:
Put quotes around compiler flags when debugging is on, so they get
carried down into the Makefiles properly.
Platforms tested:
Solaris 2.6 (baldric)
Purpose:
A new feature
Description:
While testing h4toh5 utility with real NASA files, we find an example that the data array(one SDS) is so big that it exceeds the physical memory of some machine(>128 MB) and the conversion failed. Before the smart hyperslab operation is out, I am dividing the whole SDS into smaller hyperslabs with each hyperslab propotational to the original SDS array dimensions. For example, a three dimension array with 1000*1000*1000 elements, I can divide them into eight 500*500*500 pieces. I can read and write each piece and remember their starting and ending points. In this way, the memory allocation failure can be avoided; however, it may not be the efficient way.
I've tested this feature using SDS without chunking. It works fine. However, when testing SDS with chunking, it is extremely slow. This happens to be a bug in HDF5 library now. Quincey may fix this later and give me a more efficient way to handle the problem. Currently all my testing files are with UNLIMITED dimensions, so in HDF5 the chunking feature will be required.
SO by default, this feature will not be turned on.
Solution:
see the above
Platforms tested:
linux 2.2.18
Purpose:
Adding new zip file for windows
Description:
Added C++ API library and tests to "all" in this new zip file.
The C++ API is disabled, however, and will need to be enabled
by the user.
Platforms tested:
Windows 98
Purpose:
bug Fix
Description:
Changed the code so that if parallel stuff isn't enabled, then we
don't compile the parallel code.
Solution:
Cleaned up the code and put #ifdef's around it checking for parallel
flags.
Platforms tested:
Linux
Purpose:
Bug fix
Description:
Add the overloaded member function Attribute::getName to return
the attribute name's length as in C API. This functionality was
missing. Note that the current getName that returns "string"
is not removed, for different way of using getName.
Platforms tested:
SunOS 5.7 (arabica)
Windows 98
Purpose:
Fixing found bug
Description:
A data file cannot be removed because the corresponding H5File object
is still in existence, which means the data file is still opened.
Solution:
Moved h5_cleanup to outside of the try block so that the H5File object
will go out of scope and be destroyed before h5_cleanup attempts to
remove the corresponding data file.
Platforms tested:
SunOS 5.7 (arabica)
Windows 98