diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2002-07-01 21:30:53 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2002-07-01 21:30:53 (GMT) |
commit | c6372017c246daf2809651879c10293278e25519 (patch) | |
tree | 05753b3cd76ada9d82e9a58751efff82f34a3b17 | |
parent | 938ae1112bf7b2e117360ef962d859ccc1016d61 (diff) | |
download | hdf5-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.c | 8 |
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 */ |