summaryrefslogtreecommitdiffstats
path: root/src/H5Shyper.c
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2015-03-19 20:04:36 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2015-03-19 20:04:36 (GMT)
commit43dec53436614341f3597271603b90d41dac5ac2 (patch)
treeb057617d8483473d4e2ca4a71f7188cf5f47169c /src/H5Shyper.c
parent4cfe53284bb6c3f7f57ff70af6ceb7396683aaa4 (diff)
downloadhdf5-43dec53436614341f3597271603b90d41dac5ac2.zip
hdf5-43dec53436614341f3597271603b90d41dac5ac2.tar.gz
hdf5-43dec53436614341f3597271603b90d41dac5ac2.tar.bz2
[svn-r26482] Opening source files now reuses the flags from the virtual file.
Added tests for I/O on virtual dataset with source datasets in unopened files. Note there are still some code coverage assertions in the selection matching algorithm - if you hit these try taking them out. Note make check still fails in h5dump test (unrelated to this checkin). Tested: ummon
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r--src/H5Shyper.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c
index c64f1c9..1fd19fe 100644
--- a/src/H5Shyper.c
+++ b/src/H5Shyper.c
@@ -9016,7 +9016,8 @@ H5S__hyper_project_intersection(const H5S_t *src_space, const H5S_t *dst_space,
* intersect space */
while(1) {
if(advance_ss || (ss_off[ss_i] + ss_len[ss_i] <= sis_off[sis_i])) {
- /* Sequences do not intersect, advance source space */
+ /* Either we finished the current source sequence or the
+ * sequences do not intersect. Advance source space. */
ss_sel_off += (hsize_t)ss_len[ss_i];
if(++ss_i == ss_nseq) {
if(ss_nelem > 0) {
@@ -9045,8 +9046,12 @@ H5S__hyper_project_intersection(const H5S_t *src_space, const H5S_t *dst_space,
} /* end if */
else if(advance_sis
|| (sis_off[sis_i] + sis_len[sis_i] <= ss_off[ss_i])) {
+ /* Either we finished the current source intersect sequence or
+ * the sequences do not intersect. Advance source intersect
+ * space. */
if(++sis_i == sis_nseq) {
if(sis_nelem > 0) {
+ HDassert(0 && "Checking code coverage..."); //VDSINC
/* Try to grab more sequences from src_intersect_space
*/
if(H5S_SELECT_GET_SEQ_LIST(src_intersect_space, 0u, &sis_iter, H5S_PROJECT_INTERSECT_NSEQS, sis_nelem, &sis_nseq, &nelem, sis_off, sis_len) < 0)
@@ -9125,8 +9130,8 @@ H5S__hyper_project_intersection(const H5S_t *src_space, const H5S_t *dst_space,
/* Check for more than one full row (in every dim) and
* append multiple spans at once? -NAF */
/* Append spans in higher dimensions if we're going
- * ouside the plan of the span currently being built
- * (i.e. they're finished being built) */
+ * ouside the plane of the span currently being built
+ * (i.e. it's finished being built) */
for(i = proj_rank - 1; ((i > 0)
&& ((proj_off / proj_down_dims[i])
!= curr_span_dim[i - 1])); i--) {