summaryrefslogtreecommitdiffstats
path: root/src/H5Shyper.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2001-02-21 21:25:27 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2001-02-21 21:25:27 (GMT)
commit4f098115dc9cb99067dda610db2df5ae8a942212 (patch)
tree769cb4596955989c2ffb26d4779025c15c69ccbf /src/H5Shyper.c
parent53ed6e6794bb72c3521d0f2804844b46e266514b (diff)
downloadhdf5-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.c2
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 */