diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2000-12-14 00:35:07 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2000-12-14 00:35:07 (GMT) |
commit | 8653f01910c1c69f7f7b45ce31f937c07f041187 (patch) | |
tree | 68397edf6ad5066eed851bba1a2f6c98df054363 /src | |
parent | e974009fd6aabf9bb2c60adfeb52855e2138afbb (diff) | |
download | hdf5-8653f01910c1c69f7f7b45ce31f937c07f041187.zip hdf5-8653f01910c1c69f7f7b45ce31f937c07f041187.tar.gz hdf5-8653f01910c1c69f7f7b45ce31f937c07f041187.tar.bz2 |
[svn-r3133] Purpose:
Bug fix
Description:
Set the background buffer type to different values for compound vs. vlen
& array datatypes.
Platforms tested:
Cray J90 (killeen)
Diffstat (limited to 'src')
-rw-r--r-- | src/H5P.c | 4 | ||||
-rw-r--r-- | src/H5Tconv.c | 10 |
2 files changed, 8 insertions, 6 deletions
@@ -7039,6 +7039,8 @@ static herr_t H5P_close_list(void *_plist) /* Destroy property list object */ H5MM_xfree(plist); + ret_value=SUCCEED; /* return value */ + done: FUNC_LEAVE (ret_value); } /* H5P_close_list() */ @@ -7083,7 +7085,7 @@ herr_t H5Pclose_list(hid_t plist_id) } /* end if */ /* Close the property list */ - if (H5P_close_list(plist) < 0) + if ((ret_value=H5P_close_list(plist)) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTFREE, FAIL, "can't close"); done: diff --git a/src/H5Tconv.c b/src/H5Tconv.c index 8cbca15..f63f30d 100644 --- a/src/H5Tconv.c +++ b/src/H5Tconv.c @@ -796,7 +796,7 @@ H5T_conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, *------------------------------------------------------------------------- */ static herr_t -H5T_conv_need_bkg (H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata) +H5T_conv_need_bkg (H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata, H5T_bkg_t bkg_type) { FUNC_ENTER (H5T_conv_need_bkg, FAIL); @@ -805,7 +805,7 @@ H5T_conv_need_bkg (H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata) assert(cdata); if (H5T_detect_class(src,H5T_COMPOUND)==TRUE || H5T_detect_class(dst,H5T_COMPOUND)==TRUE) - cdata->need_bkg = H5T_BKG_YES; + cdata->need_bkg = bkg_type; FUNC_LEAVE (SUCCEED); } @@ -931,7 +931,7 @@ H5T_conv_struct_init (H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata) } /* Check if we need a background buffer */ - H5T_conv_need_bkg (src, dst, cdata); + H5T_conv_need_bkg (src, dst, cdata, H5T_BKG_TEMP); cdata->recalc = FALSE; FUNC_LEAVE (SUCCEED); @@ -1845,7 +1845,7 @@ H5T_conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, assert (H5T_VLEN==dst->type); /* Check if we need a background buffer */ - H5T_conv_need_bkg (src, dst, cdata); + H5T_conv_need_bkg (src, dst, cdata, H5T_BKG_YES); break; @@ -2080,7 +2080,7 @@ H5T_conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, #endif /* LATER */ /* Check if we need a background buffer */ - H5T_conv_need_bkg (src, dst, cdata); + H5T_conv_need_bkg (src, dst, cdata, H5T_BKG_YES); break; |