Code cleanup
Description:
I had moved an fclose() in my earlier fix and it could lead to a resource
leak in certain error conditions.
Also, prepared file for Albert to expand to test with files larger than
2GB... :-)
Solution:
Moved fclose() call back to original position.
Put in type cast for FAMILY_SIZE macro.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
'big' test was not detecting that the AFS quota had been hit when running
under FreeBSD.
Solution:
Amending quota checking code to detect errors on file closes as well as
opens, seeks and writes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
H5S_select_elements is not actually putting the new point on the list of
points selected when there are no points currently selected and the
'append' operation is chosen.
Solution:
Add new point to list correctly.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix.
Description:
H5S_select_hyperslab fails to correctly define a hyperslab when the space
to put the hyperslab into is currently a 'none' selection and the hyperslab
operation is the 'or' operation.
Solution:
Detect the situation and internally modify the hyperslab operation to be
a 'set' operation, since that's the next affect desired.
Platforms tested:
FreeBSD 4.4. (hawkwind)
kludge
Description:
Somehow if consecutive "rsh houdin -n ..." are issued too close,
a "Connection refused" result. Then /usr/local/krb5/rsh falls
back to ordinary rsh protocal which of course won't work either.
Solution:
if the houdin to be tested is houdin, wait for 5 seconds before
launching the 'rsh ...' command. Hopefully the system admin can
fix the rsh problem.
Platforms tested:
eirene talking to houdin.
Feature (actually a kludge)
Description:
The old "setenv" option for the snaptest.cfg cannot handle
if there are white spaces in the setenv value part.
Added a "setenv2" that expects the value consists of 2 parts.
A better solution (like can parse in double quoted values) is
needed.
Platforms tested:
eirene with houdin (solaris 2.7)
Bug Fix
Description:
Section of code which defined file offset and length macros was removed
a while ago and found during testing just now.
Solution:
Replaced section of code to define macros.
Platforms tested:
IRIX64 6.5 (modi4)
Purpose:
bug fix
HDF5 debug dll test failed when using all_withf90.zip.
Description:
various tests failed when using all_withf90.zip
with the same project setting, all tests passed when using all.zip(C test).
Suspect Digital fortran compiler problem.
Solution:
Find one strange warning message:
LINK : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Following the instruction, ignore msvcrt.lib when linking with hdf5dll.
All tests passed.
Don't know the exact reason since msvcrt.lib is kind of required for DLL.
Platforms tested:
windows 2000
Bug fix
Description:
GASS nor gridstorage worked any more because SSL library testing
was moved after them.
Solution:
Moved SSL library to be tested before GASS or Gridstorage options
are tested. Also make the testing of SSL libraries default to
no testing, so that it won't get activated unnecessarily.
Platforms tested:
IRIX64 -64, serial and parallel. (GASS driver needs globus
software which is available in modi4 only.)
Code cleanup.
Description:
Fix a few compiler warnings from the file creation property list -> generic
property list conversion. Also change a hard-wired value (8) for the
number of B-tree key values to a value that uses the enum's generated by
the compiler.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Changed the file creation property list to the new generic property list.
Modified for new file creation property list.
Platform tested:
IRIX64, SunOS5.7, FreeBSD
Purpose:
Bug fix
Description:
On NERSC SP3 configure failed while trying to figure out
how to print long long.
Solution:
Added the following line
hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
Platforms tested:
Not tested yet.
Purpose:
Fix Bill's "Major Hack" for NERSC seaborg machine
Description:
Bill's fix was based on the machine name. NERSC SP3 gseaborg
was renamed to seaborg.
Solution:
Fixed the name.
Platforms tested:
Not tested yet.
Update docs
Description:
H5Dread and H5Dwrite description contained some inaccurate information about
how H5S_ALL works as a parameter for the memory and file dataspaces.
Solution:
Updated information to reflect current library behavior for H5S_ALL.
Code cleanup
Description:
Purify detected an uninitialized memory read in test data.
Solution:
Corrected parameters for initializing data array so entire array is
initialized.
Platforms tested:
Solaris 2.7 (arabica)
Code cleanup
Description:
Purify detected some resource leaks in the tests.
Solution:
Released memory and property lists properly.
Platforms tested:
Solaris 2.7 (arabica)
Bug Fix
Description:
Purify detected an uninitialized memory read in H5Pset_chunk and a memory
leak in H5P_remove.
Solution:
Patched both up.
Platforms tested:
Solaris 2.7 (arabica)
Purpose:
refix tconfig.c
Description:
Follow Robb's reminder, long_long is used to define __int64 in windows and long long for other platforms at H5private.h.
Solution:
just change vrfy_ctype(long long....) into vrfy(long_long,.....) in the tconfig.c. Delete the previous
macro.
Platforms tested:
windows 2000, linux
Purpose:
add new information and delete old windows and h4toh5 information on release.txt.
Description:
1. add a note to mention release dll will work after installing service pack 5 of VS6.0.
2. delete the fixed bugs on windows(libc.lib warnings and h4toh5 image handlings)
Solution:
Platforms tested:
Purpose:
bug fixed
Description:
Windows doesn't recognize long long. Instead it uses __int64. So add a macro
like
#ifdef HAVE____int64 for windows-like platforms.
Solution:
see above
Platforms tested:
eirene
Purpose:
Fixed bugs
Description:
1. tconfig.c finds size of long double and size of off_t are not correct on windows 2000.
Size of long double(8) at the manually hacked H5config.h on windows represents windows NT 4.0.
On windows 2000, it is set to 12. Now H5config.h is fixed to pass windows 2000, but will fail on NT4.0O. This problem needs to be addressed.
2. modify testhdf5 and testhdf5sll projects to fit in the new test.
3. find a release dll bug(cause tattr test failed), later the bug is gone after install VS 6.0 service pack 5. Highly suspect it is a compiler bug.
Solution:
See above.
Platforms tested:
windows 2000
Bug fix
Description:
Remove 'const' modifier in prototype for H5D_new, the dcpl_id parameter
needs to be non-const.
Platforms tested:
Eyeballed (reported on gondolin)
feature
Description:
Recognize command line argument in the form of '--*' as
a configure command option by default. Since all normal
configure options are in the form of '--*', this will
simplify the "op-configure <option>" syntax. The latter
syntax is still kept in case one would want to pass in
some configure argument that does not fit this syntax.
Platforms tested:
Eirene.
Test bug fix.
Description:
When reading or writing to chunked datasets and the data needed datatype
conversion, and the amount of data was more than one conversion buffer,
data in the conversion buffer was getting corrupted.
Solution:
Corrected error in advancing buffer pointer where it was being advanced
by the number of elements instead of the number of bytes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Document bug fix.
Description:
When reading or writing to chunked datasets and the data needed datatype
conversion, and the amount of data was more than one conversion buffer,
data in the conversion buffer was getting corrupted.
Solution:
Corrected error in advancing buffer pointer where it was being advanced
by the number of elements instead of the number of bytes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix/optimization.
Description:
Single, contiguous (in memory) hyperslabs are able to be transferred in one
I/O operation, but weren't being detected correctly by the code in
H5S_all_read()/H5S_all_write() and were getting routed into slower I/O
routines. (Or, possibly failing in some circumstances)
Solution:
Wrote code to correctly detect single contiguous hyperslabs in memory and
adjust arrays and buffer pointers describing the memory information so that
the entire hyperslab can be transferred in one operation.
Platforms Tested:
FreeBSD 4.4 (hawkwind)
'Bug fix'
Description:
When testing the validity of zlib, the compress() function is
used. HDF5 actually requires a newer version of zlib which
contains compress2(). Compress2 is tested in later part of
the configure. This caused redundent tests and confusion too.
Solution:
Changed zlib test to look for compress2() instead.
Older version of HDF4 libraries (e.g. 4.1r2) would fail this
test correctly. This eliminated the possibility of using an
older version of HDF4 without using zlib compression in HDF5.
But since we need newer version of hdp (with loops detection),
the older version hdf4 is not old any more.
Remark: the compress2 test is not removed. After this change
proven working correctly for all platforms, the extra compress2
test can be removed and source code must be updated too.
Platforms tested:
modi4: tested with hdf4.1r2 and failed as expected. Tested with
newer hdf4 libraries and succeeded as expected.
Purpose:
Final Fantasy...er...fix
Description:
I fixed the problem with the summary printing newlines when we didn't
want it to when using "ksh".
Solution:
There's a flag '\c' which should be used at the end of the line if
you can't use the '-n' flag.
Platforms tested:
linux and modi4.
Bug fix.
Problem:
When an entire dataset was selected (through whatever means, H5S_ALL, making
an explicit "all" selection, etc.), the code was not allowing the optimized
routine to read the entire dataset in at once when the current dimensions
did not match the maximum dimensions and instead was defaulting to a [much]
slower method to read in the dataset.
Solution:
Took out check which was requiring current dimensions to be equal to the
maximum dimensions.
Platforms tested:
FreeBSD 4.4 (hawkwind)