diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2002-01-27 05:20:16 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2002-01-27 05:20:16 (GMT) |
commit | 0a612f0a6133363cecf86afe7c872706a200876e (patch) | |
tree | 3365abc3e26775be6871c9196c8e4fd4ee63e1c4 /test | |
parent | 613d63ba73500e79b247f0bf3a9c053437265428 (diff) | |
download | hdf5-0a612f0a6133363cecf86afe7c872706a200876e.zip hdf5-0a612f0a6133363cecf86afe7c872706a200876e.tar.gz hdf5-0a612f0a6133363cecf86afe7c872706a200876e.tar.bz2 |
[svn-r4868] Purpose:
Bug fixes
Description:
This checkin addresses two separate bugs:
#1 - When a compound datatype with a VL datatype as a field is used
to read or write data, the datatype conversion paths added to
the table of paths were treating the VL datatypes somewhat too
genericly - they weren't dicriminating between VL datatypes used
in different files and therefore there was the possibility that
a path in the table having information for one file could get used
with a second file, causing errors or core dumps (if the first
file was closed before the later file used the path).
#2 - When composite (compound, array or VL) datatype paths in the datatype
conversion table are being tested to see if they can be used for
the current datatypes being converted, they can cause additional
conversion paths to be registered in the conversion path table.
Since this causes the global table to change size and entries to
move around, it is possible that the local variables tracking a
potential path could become incorrect as the global table was
changed out from underneath them.
Both bugs fixed are described in bug #703
Solution:
Two separate fixes:
#1 - Changed H5T_cmp to differentiate between VL datatypes in different
files and not to return datatypes in two different files as equal.
#2 - Note size of global table before evaluating datatype paths. Then,
after the appropriate path has been chosen, check if the size of
the global table has changed and recompute the position of the path
chosen in the table if necessary.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions