summaryrefslogtreecommitdiffstats
path: root/src/H5D.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2001-01-18 22:01:17 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2001-01-18 22:01:17 (GMT)
commit7c8547ed04497b1da081f7b161c229a29bf522c8 (patch)
tree88eb2a43af575b2fc67f27aae717897fd171b53b /src/H5D.c
parente108a974a055c9ceda186860c92289b478dc2d53 (diff)
downloadhdf5-7c8547ed04497b1da081f7b161c229a29bf522c8.zip
hdf5-7c8547ed04497b1da081f7b161c229a29bf522c8.tar.gz
hdf5-7c8547ed04497b1da081f7b161c229a29bf522c8.tar.bz2
[svn-r3302] Purpose:
Bug fix Description: Certain combinations of hyperslabs, especially those that have to be strip-mined during I/O were causing data to be incorrectly transferred. Solution: Changed the code in H5S_get_hyper_regions to be more careful about the regions of the current dimension that are valid. Sometimes, regions which had already been iterated through were being re-processed. Platforms tested: FreeBSD 4.2 (hawkwind)
Diffstat (limited to 'src/H5D.c')
-rw-r--r--src/H5D.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/H5D.c b/src/H5D.c
index 2f50613..15f2f54 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -1823,12 +1823,18 @@ printf("%s: check 2.0, src_type_size=%d, dst_type_size=%d, target_size=%d, min_e
need_bkg = H5T_BKG_NO; /*never needed even if app says yes*/
}
if (NULL==(tconv_buf=xfer_parms->tconv_buf)) {
+#ifdef QAK
+ printf("%s: check 3.1, allocating conversion buffer\n",FUNC);
+#endif
/* Allocate temporary buffer */
if((tconv_buf=H5FL_BLK_ALLOC(type_conv,target_size,0))==NULL)
HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL,
"memory allocation failed for type conversion");
}
if (need_bkg && NULL==(bkg_buf=xfer_parms->bkg_buf)) {
+#ifdef QAK
+ printf("%s: check 3.2, allocating conversion buffer\n",FUNC);
+#endif
/* Allocate temporary buffer */
if((bkg_buf=H5FL_BLK_ALLOC(bkgr_conv,request_nelmts*dst_type_size,0))==NULL)
HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL,
@@ -1876,6 +1882,7 @@ printf("%s: check 2.0, src_type_size=%d, dst_type_size=%d, target_size=%d, min_e
#ifdef QAK
printf("%s: check 6.0\n",FUNC);
+#ifdef QAK
{
int i;
int *b;
@@ -1889,7 +1896,8 @@ printf("%s: check 2.0, src_type_size=%d, dst_type_size=%d, target_size=%d, min_e
printf("\n");
/* } */
}
-#endif
+#endif /* QAK */
+#endif /* QAK */
if (H5T_BKG_YES==need_bkg) {
#ifdef H5S_DEBUG