summaryrefslogtreecommitdiffstats
path: root/src/H5Shyper.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2002-07-02 20:05:32 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2002-07-02 20:05:32 (GMT)
commit10be6297fc94ac0867cf4cd44abcc0225beac8e5 (patch)
tree7c0cc60c550e43504962afcb4e83fab3a44f6c2e /src/H5Shyper.c
parentcfcc59fdf70ba533602c5a5642750bb956ed51e8 (diff)
downloadhdf5-10be6297fc94ac0867cf4cd44abcc0225beac8e5.zip
hdf5-10be6297fc94ac0867cf4cd44abcc0225beac8e5.tar.gz
hdf5-10be6297fc94ac0867cf4cd44abcc0225beac8e5.tar.bz2
[svn-r5759] Purpose:
Bug fix. Description: Correct the previous code for detecting 1-D contiguous hyperslabs to detect an extra case that the development branch has, but the release branch doesn't have. Platforms tested: IRIX64 6.5 (modi4) w/parallel
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r--src/H5Shyper.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c
index d24abfc..0e30a73 100644
--- a/src/H5Shyper.c
+++ b/src/H5Shyper.c
@@ -5580,9 +5580,9 @@ H5S_hyper_select_contiguous(const H5S_t *space)
*
* OR
*
- * The selection must have only one block (i.e. count==1) and the block
- * size must be 1 in all but the fastest changing dimension. (dubbed
- * "small contiguous" block)
+ * The selection must have only one block (i.e. count==1) in all
+ * dimensions and the block size must be 1 in all but the fastest
+ * changing dimension. (dubbed "small contiguous" block)
*/
/* Initialize flags */
@@ -5604,8 +5604,12 @@ H5S_hyper_select_contiguous(const H5S_t *space)
/* If we didn't find a large contiguous block, check for a small one */
if(large_contiguous==FALSE) {
small_contiguous=TRUE;
- for(u=0; u<(space->extent.u.simple.rank-1); u++) {
- if(space->select.sel_info.hslab.diminfo[u].count>1 || space->select.sel_info.hslab.diminfo[u].block!=1) {
+ for(u=0; u<space->extent.u.simple.rank; u++) {
+ if(space->select.sel_info.hslab.diminfo[u].count>1) {
+ small_contiguous=FALSE;
+ break;
+ } /* end if */
+ if(u<(space->extent.u.simple.rank-1) && space->select.sel_info.hslab.diminfo[u].block!=1) {
small_contiguous=FALSE;
break;
} /* end if */