From eb45c3c8a46cb1e21748c432172461592b794328 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Mon, 1 Jul 2002 16:32:13 -0500 Subject: [svn-r5740] 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) --- src/H5Shyper.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/H5Shyper.c b/src/H5Shyper.c index bf035b4..d24abfc 100644 --- a/src/H5Shyper.c +++ b/src/H5Shyper.c @@ -5590,8 +5590,12 @@ H5S_hyper_select_contiguous(const H5S_t *space) small_contiguous=FALSE; /* assume false initially */ /* Check for a "large contigous" block */ - for(u=1; uextent.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; uextent.u.simple.rank; u++) { + if(space->select.sel_info.hslab.diminfo[u].count>1) { + large_contiguous=FALSE; + break; + } /* end if */ + if(u>0 && space->select.sel_info.hslab.diminfo[u].block!=space->extent.u.simple.size[u]) { large_contiguous=FALSE; break; } /* end if */ -- cgit v0.12