diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2001-01-18 22:01:17 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2001-01-18 22:01:17 (GMT) |
commit | 7c8547ed04497b1da081f7b161c229a29bf522c8 (patch) | |
tree | 88eb2a43af575b2fc67f27aae717897fd171b53b /src/H5D.c | |
parent | e108a974a055c9ceda186860c92289b478dc2d53 (diff) | |
download | hdf5-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.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -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 |