summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2002-07-01 21:30:53 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2002-07-01 21:30:53 (GMT)
commitc6372017c246daf2809651879c10293278e25519 (patch)
tree05753b3cd76ada9d82e9a58751efff82f34a3b17
parent938ae1112bf7b2e117360ef962d859ccc1016d61 (diff)
downloadhdf5-c6372017c246daf2809651879c10293278e25519.zip
hdf5-c6372017c246daf2809651879c10293278e25519.tar.gz
hdf5-c6372017c246daf2809651879c10293278e25519.tar.bz2
[svn-r5739] Purpose:
Bug fix. Description: 1-D non-contiguous hyperslabs were erroneously being detected as contiguous and were causing incorrect behavior for parallel I/O benchmark (and parallel programs in general). Solution: Modified algorithm to handle 1-D case correctly. Platforms tested: IRIX64 6.5 (modi4)
-rw-r--r--src/H5Shyper.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c
index b7181ce..0c71c9b 100644
--- a/src/H5Shyper.c
+++ b/src/H5Shyper.c
@@ -4666,8 +4666,12 @@ H5S_hyper_select_contiguous(const H5S_t *space)
* dimension.
*/
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].count>1 || space->select.sel_info.hslab.diminfo[u].block!=space->extent.u.simple.size[u]) {
+ for(u=0; u<space->extent.u.simple.rank; u++) {
+ if(space->select.sel_info.hslab.diminfo[u].count>1) {
+ ret_value=FALSE;
+ break;
+ } /* end if */
+ if(u>0 && space->select.sel_info.hslab.diminfo[u].block!=space->extent.u.simple.size[u]) {
ret_value=FALSE;
break;
} /* end if */