summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2002-04-02 20:44:48 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2002-04-02 20:44:48 (GMT)
commit30eaf92786a6b3d07f00082f03a8215ed1335ff2 (patch)
tree16d655c1f80935fd7077b72db1fe728f91116f01 /src
parent7e6c68da9e9a02926530e1c2ac194664cadd51c9 (diff)
downloadhdf5-30eaf92786a6b3d07f00082f03a8215ed1335ff2.zip
hdf5-30eaf92786a6b3d07f00082f03a8215ed1335ff2.tar.gz
hdf5-30eaf92786a6b3d07f00082f03a8215ed1335ff2.tar.bz2
[svn-r5129] Purpose:
Bug Fix Description: The selection offset was being ignored for certain optimized hyperslab selection I/O operations. Solution: Include the selection offset in the calculation of the location of the hyperslab to operate on. Platforms tested: FreeBSD 4.5 (sleipnir)
Diffstat (limited to 'src')
-rw-r--r--src/H5Sall.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/H5Sall.c b/src/H5Sall.c
index 7388070..4106549 100644
--- a/src/H5Sall.c
+++ b/src/H5Sall.c
@@ -479,6 +479,7 @@ printf("%s: check 1.0\n",FUNC);
mem_size=(mem_node->end[u]-mem_node->start[u])+1;
mem_off=mem_node->start[u];
} /* end else */
+ mem_off+=mem_space->select.offset[u];
} /* end if */
else {
mem_size=mem_space->extent.u.simple.size[u];
@@ -495,6 +496,7 @@ printf("%s: check 1.0\n",FUNC);
file_size=(file_node->end[u]-file_node->start[u])+1;
file_off=file_node->start[u];
} /* end else */
+ file_off+=file_space->select.offset[u];
} /* end if */
else {
file_size=file_space->extent.u.simple.size[u];
@@ -708,6 +710,7 @@ H5S_all_write(H5F_t *f, const struct H5O_layout_t *layout,
mem_size=(mem_node->end[u]-mem_node->start[u])+1;
mem_off=mem_node->start[u];
} /* end else */
+ mem_off+=mem_space->select.offset[u];
} /* end if */
else {
mem_size=mem_space->extent.u.simple.size[u];
@@ -724,6 +727,7 @@ H5S_all_write(H5F_t *f, const struct H5O_layout_t *layout,
file_size=(file_node->end[u]-file_node->start[u])+1;
file_off=file_node->start[u];
} /* end else */
+ file_off+=file_space->select.offset[u];
} /* end if */
else {
file_size=file_space->extent.u.simple.size[u];