diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2001-02-21 21:25:27 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2001-02-21 21:25:27 (GMT) |
commit | 4f098115dc9cb99067dda610db2df5ae8a942212 (patch) | |
tree | 769cb4596955989c2ffb26d4779025c15c69ccbf /src/H5Shyper.c | |
parent | 53ed6e6794bb72c3521d0f2804844b46e266514b (diff) | |
download | hdf5-4f098115dc9cb99067dda610db2df5ae8a942212.zip hdf5-4f098115dc9cb99067dda610db2df5ae8a942212.tar.gz hdf5-4f098115dc9cb99067dda610db2df5ae8a942212.tar.bz2 |
[svn-r3479] Purpose:
Bug Fixes
Description:
Fixed a bug in H5Shyper.c where 'contiguous' hyperslabs (i.e. ones which
took up an entire dataset) were not being detected correctly and would
instead be read a part at a time instead of all at once.
Also fixed a bug in the handling of hyperslabs for chunked datasets where
hyperslabs from chunks which weren't aligned on exact dimension bounaries
were not reading/writing data correctly.
Solution:
H5Shyper.c was a single line change from a 'block' size to a 'count' size.
H5Fseq.c changes we much more significant and involved detecting when
non-chunk aligned sequences of data were being written and constructing
hyperslab blocks to pass down to the chunking I/O routine (which only
understand hyperslab I/O requests, not element sequence requests).
This was complicated by the need to align the hyperslabs requested on
dimension boundaries...
Platforms tested:
FreeBSD 4.2. (hawkwind)
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r-- | src/H5Shyper.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c index e446157..b34c79d 100644 --- a/src/H5Shyper.c +++ b/src/H5Shyper.c @@ -4610,7 +4610,7 @@ H5S_hyper_select_contiguous(const H5S_t *space) */ ret_value=TRUE; /* assume true and reset if the dimensions don't match */ for(u=1; u<space->extent.u.simple.rank; u++) { - if(space->select.sel_info.hslab.diminfo[u].block>1 || space->select.sel_info.hslab.diminfo[u].block!=space->extent.u.simple.size[u]) { + if(space->select.sel_info.hslab.diminfo[u].count>1 || space->select.sel_info.hslab.diminfo[u].block!=space->extent.u.simple.size[u]) { ret_value=FALSE; break; } /* end if */ |