diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2013-08-21 15:44:35 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2013-08-21 15:44:35 (GMT) |
commit | 78d8f8d7d12e779f640cf037bc52fd7e8a07061c (patch) | |
tree | f6a2bb20a4a34804b0253c18c205c5f77103d843 /src | |
parent | ff14409081fe6a5826b25658577aaf59f8fbb78f (diff) | |
parent | 482a9c28e71b0c1b3767bcf30be3c534bbc65ed9 (diff) | |
download | hdf5-78d8f8d7d12e779f640cf037bc52fd7e8a07061c.zip hdf5-78d8f8d7d12e779f640cf037bc52fd7e8a07061c.tar.gz hdf5-78d8f8d7d12e779f640cf037bc52fd7e8a07061c.tar.bz2 |
[svn-r24044] Merging r23833 through r24043 from trunk.
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Adense.c | 88 | ||||
-rw-r--r-- | src/H5B2cache.c | 192 | ||||
-rw-r--r-- | src/H5B2hdr.c | 6 | ||||
-rw-r--r-- | src/H5B2stat.c | 2 | ||||
-rw-r--r-- | src/H5Bcache.c | 64 | ||||
-rw-r--r-- | src/H5C.c | 4 | ||||
-rw-r--r-- | src/H5Dchunk.c | 1 | ||||
-rw-r--r-- | src/H5Dint.c | 2 | ||||
-rw-r--r-- | src/H5Dpublic.h | 4 | ||||
-rw-r--r-- | src/H5Dscatgath.c | 6 | ||||
-rw-r--r-- | src/H5Eprivate.h | 5 | ||||
-rw-r--r-- | src/H5FDmulti.c | 124 | ||||
-rw-r--r-- | src/H5FDstdio.c | 4 | ||||
-rw-r--r-- | src/H5Gent.c | 2 | ||||
-rw-r--r-- | src/H5HFman.c | 2 | ||||
-rw-r--r-- | src/H5HFpkg.h | 2 | ||||
-rw-r--r-- | src/H5HFsection.c | 8 | ||||
-rw-r--r-- | src/H5Opline.c | 13 | ||||
-rw-r--r-- | src/H5Pocpl.c | 1 | ||||
-rw-r--r-- | src/H5SL.c | 6 | ||||
-rw-r--r-- | src/H5Shyper.c | 3 | ||||
-rw-r--r-- | src/H5T.c | 8 | ||||
-rw-r--r-- | src/H5Tdbg.c | 2 | ||||
-rw-r--r-- | src/H5Znbit.c | 12 | ||||
-rw-r--r-- | src/H5Zshuffle.c | 6 | ||||
-rw-r--r-- | src/H5checksum.c | 2 | ||||
-rw-r--r-- | src/H5dbg.c | 2 | ||||
-rw-r--r-- | src/H5public.h | 4 | ||||
-rw-r--r-- | src/H5system.c | 180 | ||||
-rw-r--r-- | src/H5win32defs.h | 10 | ||||
-rw-r--r-- | src/Makefile.in | 2 |
31 files changed, 376 insertions, 391 deletions
diff --git a/src/H5Adense.c b/src/H5Adense.c index 4c10255..0b73a20 100644 --- a/src/H5Adense.c +++ b/src/H5Adense.c @@ -292,7 +292,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5A_dense_fnd_cb + * Function: H5A__dense_fnd_cb * * Purpose: Callback when an attribute is located in an index * @@ -305,11 +305,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5A_dense_fnd_cb(const H5A_t *attr, hbool_t *took_ownership, void *_user_attr) +H5A__dense_fnd_cb(const H5A_t *attr, hbool_t *took_ownership, void *_user_attr) { H5A_t const **user_attr = (H5A_t const **)_user_attr; /* User data from v2 B-tree attribute lookup */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR /* * Check arguments. @@ -322,7 +322,7 @@ H5A_dense_fnd_cb(const H5A_t *attr, hbool_t *took_ownership, void *_user_attr) *took_ownership = TRUE; FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5A_dense_fnd_cb() */ +} /* end H5A__dense_fnd_cb() */ /*------------------------------------------------------------------------- @@ -395,7 +395,7 @@ H5A_dense_open(H5F_t *f, hid_t dxpl_id, const H5O_ainfo_t *ainfo, const char *na udata.name_hash = H5_checksum_lookup3(name, HDstrlen(name), 0); udata.flags = 0; udata.corder = 0; - udata.found_op = H5A_dense_fnd_cb; /* v2 B-tree comparison callback */ + udata.found_op = H5A__dense_fnd_cb; /* v2 B-tree comparison callback */ udata.found_op_data = &ret_value; /* Find & copy the attribute in the 'name' index */ @@ -578,7 +578,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5A_dense_write_bt2_cb2 + * Function: H5A__dense_write_bt2_cb2 * * Purpose: v2 B-tree 'modify' callback to update the record for a creation * order index @@ -592,12 +592,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5A_dense_write_bt2_cb2(void *_record, void *_op_data, hbool_t *changed) +H5A__dense_write_bt2_cb2(void *_record, void *_op_data, hbool_t *changed) { H5A_dense_bt2_corder_rec_t *record = (H5A_dense_bt2_corder_rec_t *)_record; /* Record from B-tree */ H5O_fheap_id_t *new_heap_id = (H5O_fheap_id_t *)_op_data; /* "op data" from v2 B-tree modify */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR /* * Check arguments. @@ -612,11 +612,11 @@ H5A_dense_write_bt2_cb2(void *_record, void *_op_data, hbool_t *changed) *changed = TRUE; FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5A_dense_write_bt2_cb2() */ +} /* end H5A__dense_write_bt2_cb2() */ /*------------------------------------------------------------------------- - * Function: H5A_dense_write_bt2_cb + * Function: H5A__dense_write_bt2_cb * * Purpose: v2 B-tree 'modify' callback to update the data for an attribute * @@ -629,7 +629,7 @@ H5A_dense_write_bt2_cb2(void *_record, void *_op_data, hbool_t *changed) *------------------------------------------------------------------------- */ static herr_t -H5A_dense_write_bt2_cb(void *_record, void *_op_data, hbool_t *changed) +H5A__dense_write_bt2_cb(void *_record, void *_op_data, hbool_t *changed) { H5A_dense_bt2_name_rec_t *record = (H5A_dense_bt2_name_rec_t *)_record; /* Record from B-tree */ H5A_bt2_od_wrt_t *op_data = (H5A_bt2_od_wrt_t *)_op_data; /* "op data" from v2 B-tree modify */ @@ -638,7 +638,7 @@ H5A_dense_write_bt2_cb(void *_record, void *_op_data, hbool_t *changed) uint8_t attr_buf[H5A_ATTR_BUF_SIZE]; /* Buffer for serializing attribute */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Check arguments. @@ -676,7 +676,7 @@ H5A_dense_write_bt2_cb(void *_record, void *_op_data, hbool_t *changed) udata.found_op_data = NULL; /* Modify record for creation order index */ - if(H5B2_modify(bt2_corder, op_data->dxpl_id, &udata, H5A_dense_write_bt2_cb2, &op_data->attr->sh_loc.u.heap_id) < 0) + if(H5B2_modify(bt2_corder, op_data->dxpl_id, &udata, H5A__dense_write_bt2_cb2, &op_data->attr->sh_loc.u.heap_id) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "unable to modify record in v2 B-tree") } /* end if */ @@ -727,7 +727,7 @@ done: HDONE_ERROR(H5E_ATTR, H5E_CLOSEERROR, FAIL, "can't close wrapped buffer") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_dense_write_bt2_cb() */ +} /* end H5A__dense_write_bt2_cb() */ /*------------------------------------------------------------------------- @@ -814,7 +814,7 @@ H5A_dense_write(H5F_t *f, hid_t dxpl_id, const H5O_ainfo_t *ainfo, H5A_t *attr) op_data.corder_bt2_addr = ainfo->corder_bt2_addr; /* Modify attribute through 'name' tracking v2 B-tree */ - if(H5B2_modify(bt2_name, dxpl_id, &udata, H5A_dense_write_bt2_cb, &op_data) < 0) + if(H5B2_modify(bt2_name, dxpl_id, &udata, H5A__dense_write_bt2_cb, &op_data) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "unable to modify record in v2 B-tree") done: @@ -831,7 +831,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5A_dense_copy_fh_cb + * Function: H5A__dense_copy_fh_cb * * Purpose: Callback for fractal heap operator, to make copy of attribute * for calling routine @@ -845,12 +845,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5A_dense_copy_fh_cb(const void *obj, size_t UNUSED obj_len, void *_udata) +H5A__dense_copy_fh_cb(const void *obj, size_t UNUSED obj_len, void *_udata) { H5A_fh_ud_cp_t *udata = (H5A_fh_ud_cp_t *)_udata; /* User data for fractal heap 'op' callback */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Decode attribute information & keep a copy */ /* (we make a copy instead of calling the user/library callback directly in @@ -871,7 +871,7 @@ H5A_dense_copy_fh_cb(const void *obj, size_t UNUSED obj_len, void *_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_dense_copy_fh_cb() */ +} /* end H5A__dense_copy_fh_cb() */ /*------------------------------------------------------------------------- @@ -948,7 +948,7 @@ H5A_dense_rename(H5F_t *f, hid_t dxpl_id, const H5O_ainfo_t *ainfo, const char * udata.name_hash = H5_checksum_lookup3(old_name, HDstrlen(old_name), 0); udata.flags = 0; udata.corder = 0; - udata.found_op = H5A_dense_fnd_cb; /* v2 B-tree comparison callback */ + udata.found_op = H5A__dense_fnd_cb; /* v2 B-tree comparison callback */ udata.found_op_data = &attr_copy; /* Get copy of attribute through 'name' tracking v2 B-tree */ @@ -1030,7 +1030,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5A_dense_iterate_bt2_cb + * Function: H5A__dense_iterate_bt2_cb * * Purpose: v2 B-tree callback for dense attribute storage iterator * @@ -1043,13 +1043,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5A_dense_iterate_bt2_cb(const void *_record, void *_bt2_udata) +H5A__dense_iterate_bt2_cb(const void *_record, void *_bt2_udata) { const H5A_dense_bt2_name_rec_t *record = (const H5A_dense_bt2_name_rec_t *)_record; /* Record from B-tree */ H5A_bt2_ud_it_t *bt2_udata = (H5A_bt2_ud_it_t *)_bt2_udata; /* User data for callback */ herr_t ret_value = H5_ITER_CONT; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check for skipping attributes */ if(bt2_udata->skip > 0) @@ -1072,7 +1072,7 @@ H5A_dense_iterate_bt2_cb(const void *_record, void *_bt2_udata) fh_udata.attr = NULL; /* Call fractal heap 'op' routine, to copy the attribute information */ - if(H5HF_op(fheap, bt2_udata->dxpl_id, &record->id, H5A_dense_copy_fh_cb, &fh_udata) < 0) + if(H5HF_op(fheap, bt2_udata->dxpl_id, &record->id, H5A__dense_copy_fh_cb, &fh_udata) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTOPERATE, H5_ITER_ERROR, "heap op callback failed") /* Check which type of callback to make */ @@ -1123,7 +1123,7 @@ H5A_dense_iterate_bt2_cb(const void *_record, void *_bt2_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_dense_iterate_bt2_cb() */ +} /* end H5A__dense_iterate_bt2_cb() */ /*------------------------------------------------------------------------- @@ -1231,7 +1231,7 @@ H5A_dense_iterate(H5F_t *f, hid_t dxpl_id, hid_t loc_id, const H5O_ainfo_t *ainf /* Iterate over the records in the v2 B-tree's "native" order */ /* (by hash of name) */ - if((ret_value = H5B2_iterate(bt2, dxpl_id, H5A_dense_iterate_bt2_cb, &udata)) < 0) + if((ret_value = H5B2_iterate(bt2, dxpl_id, H5A__dense_iterate_bt2_cb, &udata)) < 0) HERROR(H5E_ATTR, H5E_BADITER, "attribute iteration failed"); /* Update the last attribute examined, if requested */ @@ -1265,7 +1265,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5A_dense_remove_bt2_cb + * Function: H5A__dense_remove_bt2_cb * * Purpose: v2 B-tree callback for dense attribute storage record removal * @@ -1278,7 +1278,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5A_dense_remove_bt2_cb(const void *_record, void *_udata) +H5A__dense_remove_bt2_cb(const void *_record, void *_udata) { const H5A_dense_bt2_name_rec_t *record = (const H5A_dense_bt2_name_rec_t *)_record; H5A_bt2_ud_rm_t *udata = (H5A_bt2_ud_rm_t *)_udata; /* User data for callback */ @@ -1286,7 +1286,7 @@ H5A_dense_remove_bt2_cb(const void *_record, void *_udata) H5B2_t *bt2_corder = NULL; /* v2 B-tree handle for creation order index */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check for removing the link from the creation order index */ if(H5F_addr_defined(udata->corder_bt2_addr)) { @@ -1325,7 +1325,7 @@ done: HDONE_ERROR(H5E_ATTR, H5E_CLOSEERROR, FAIL, "can't close v2 B-tree for creation order index") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_dense_remove_bt2_cb() */ +} /* end H5A__dense_remove_bt2_cb() */ /*------------------------------------------------------------------------- @@ -1396,12 +1396,12 @@ H5A_dense_remove(H5F_t *f, hid_t dxpl_id, const H5O_ainfo_t *ainfo, const char * udata.common.shared_fheap = shared_fheap; udata.common.name = name; udata.common.name_hash = H5_checksum_lookup3(name, HDstrlen(name), 0); - udata.common.found_op = H5A_dense_fnd_cb; /* v2 B-tree comparison callback */ + udata.common.found_op = H5A__dense_fnd_cb; /* v2 B-tree comparison callback */ udata.common.found_op_data = &attr_copy; udata.corder_bt2_addr = ainfo->corder_bt2_addr; /* Remove the record from the name index v2 B-tree */ - if(H5B2_remove(bt2_name, dxpl_id, &udata, H5A_dense_remove_bt2_cb, &udata) < 0) + if(H5B2_remove(bt2_name, dxpl_id, &udata, H5A__dense_remove_bt2_cb, &udata) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTREMOVE, FAIL, "unable to remove attribute from name index v2 B-tree") done: @@ -1420,7 +1420,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5A_dense_remove_by_idx_bt2_cb + * Function: H5A__dense_remove_by_idx_bt2_cb * * Purpose: v2 B-tree callback for dense attribute storage record removal by index * @@ -1433,7 +1433,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5A_dense_remove_by_idx_bt2_cb(const void *_record, void *_bt2_udata) +H5A__dense_remove_by_idx_bt2_cb(const void *_record, void *_bt2_udata) { H5HF_t *fheap; /* Fractal heap handle */ H5B2_t *bt2 = NULL; /* v2 B-tree handle for index */ @@ -1444,7 +1444,7 @@ H5A_dense_remove_by_idx_bt2_cb(const void *_record, void *_bt2_udata) hbool_t use_sh_loc; /* Whether to use the attribute's shared location or the separate one */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Set up the user data for fractal heap 'op' callback */ fh_udata.f = bt2_udata->f; @@ -1461,7 +1461,7 @@ H5A_dense_remove_by_idx_bt2_cb(const void *_record, void *_bt2_udata) /* Check whether to make a copy of the attribute or just need the shared location info */ if(H5F_addr_defined(bt2_udata->other_bt2_addr) || !(record->flags & H5O_MSG_FLAG_SHARED)) { /* Call fractal heap 'op' routine, to make copy of attribute to remove */ - if(H5HF_op(fheap, bt2_udata->dxpl_id, &record->id, H5A_dense_copy_fh_cb, &fh_udata) < 0) + if(H5HF_op(fheap, bt2_udata->dxpl_id, &record->id, H5A__dense_copy_fh_cb, &fh_udata) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTOPERATE, FAIL, "attribute removal callback failed") HDassert(fh_udata.attr); @@ -1543,7 +1543,7 @@ done: H5O_msg_free(H5O_ATTR_ID, fh_udata.attr); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_dense_remove_by_idx_bt2_cb() */ +} /* end H5A__dense_remove_by_idx_bt2_cb() */ /*------------------------------------------------------------------------- @@ -1644,7 +1644,7 @@ H5A_dense_remove_by_idx(H5F_t *f, hid_t dxpl_id, const H5O_ainfo_t *ainfo, udata.other_bt2_addr = idx_type == H5_INDEX_NAME ? ainfo->corder_bt2_addr : ainfo->name_bt2_addr; /* Remove the record from the name index v2 B-tree */ - if(H5B2_remove_by_idx(bt2, dxpl_id, order, n, H5A_dense_remove_by_idx_bt2_cb, &udata) < 0) + if(H5B2_remove_by_idx(bt2, dxpl_id, order, n, H5A__dense_remove_by_idx_bt2_cb, &udata) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTREMOVE, FAIL, "unable to remove attribute from v2 B-tree index") } /* end if */ else { @@ -1768,7 +1768,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5A_dense_delete_bt2_cb + * Function: H5A__dense_delete_bt2_cb * * Purpose: v2 B-tree callback for dense attribute storage deletion * @@ -1781,14 +1781,14 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5A_dense_delete_bt2_cb(const void *_record, void *_bt2_udata) +H5A__dense_delete_bt2_cb(const void *_record, void *_bt2_udata) { const H5A_dense_bt2_name_rec_t *record = (const H5A_dense_bt2_name_rec_t *)_record; /* Record from B-tree */ H5A_bt2_ud_common_t *bt2_udata = (H5A_bt2_ud_common_t *)_bt2_udata; /* User data for callback */ H5A_t *attr = NULL; /* Attribute being removed */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check for shared attribute */ if(record->flags & H5O_MSG_FLAG_SHARED) { @@ -1813,7 +1813,7 @@ H5A_dense_delete_bt2_cb(const void *_record, void *_bt2_udata) fh_udata.attr = NULL; /* Call fractal heap 'op' routine, to copy the attribute information */ - if(H5HF_op(bt2_udata->fheap, bt2_udata->dxpl_id, &record->id, H5A_dense_copy_fh_cb, &fh_udata) < 0) + if(H5HF_op(bt2_udata->fheap, bt2_udata->dxpl_id, &record->id, H5A__dense_copy_fh_cb, &fh_udata) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTOPERATE, FAIL, "heap op callback failed") attr = fh_udata.attr; @@ -1829,7 +1829,7 @@ done: H5O_msg_free_real(H5O_MSG_ATTR, attr); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_dense_delete_bt2_cb() */ +} /* end H5A__dense_delete_bt2_cb() */ /*------------------------------------------------------------------------- @@ -1876,7 +1876,7 @@ H5A_dense_delete(H5F_t *f, hid_t dxpl_id, H5O_ainfo_t *ainfo) udata.found_op_data = NULL; /* Delete name index v2 B-tree */ - if(H5B2_delete(f, dxpl_id, ainfo->name_bt2_addr, NULL, H5A_dense_delete_bt2_cb, &udata) < 0) + if(H5B2_delete(f, dxpl_id, ainfo->name_bt2_addr, NULL, H5A__dense_delete_bt2_cb, &udata) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTDELETE, FAIL, "unable to delete v2 B-tree for name index") ainfo->name_bt2_addr = HADDR_UNDEF; diff --git a/src/H5B2cache.c b/src/H5B2cache.c index 2ee4ef7..a48d3a8 100644 --- a/src/H5B2cache.c +++ b/src/H5B2cache.c @@ -69,21 +69,21 @@ /********************/ /* Metadata cache callbacks */ -static H5B2_hdr_t *H5B2_cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata); -static herr_t H5B2_cache_hdr_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_hdr_t *hdr, unsigned UNUSED * flags_ptr); -static herr_t H5B2_cache_hdr_dest(H5F_t *f, H5B2_hdr_t *hdr); -static herr_t H5B2_cache_hdr_clear(H5F_t *f, H5B2_hdr_t *hdr, hbool_t destroy); -static herr_t H5B2_cache_hdr_size(const H5F_t *f, const H5B2_hdr_t *hdr, size_t *size_ptr); -static H5B2_internal_t *H5B2_cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata); -static herr_t H5B2_cache_internal_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_internal_t *i, unsigned UNUSED * flags_ptr); -static herr_t H5B2_cache_internal_dest(H5F_t *f, H5B2_internal_t *internal); -static herr_t H5B2_cache_internal_clear(H5F_t *f, H5B2_internal_t *i, hbool_t destroy); -static herr_t H5B2_cache_internal_size(const H5F_t *f, const H5B2_internal_t *i, size_t *size_ptr); -static H5B2_leaf_t *H5B2_cache_leaf_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata); -static herr_t H5B2_cache_leaf_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_leaf_t *l, unsigned UNUSED * flags_ptr); -static herr_t H5B2_cache_leaf_dest(H5F_t *f, H5B2_leaf_t *leaf); -static herr_t H5B2_cache_leaf_clear(H5F_t *f, H5B2_leaf_t *l, hbool_t destroy); -static herr_t H5B2_cache_leaf_size(const H5F_t *f, const H5B2_leaf_t *l, size_t *size_ptr); +static H5B2_hdr_t *H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata); +static herr_t H5B2__cache_hdr_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_hdr_t *hdr, unsigned UNUSED * flags_ptr); +static herr_t H5B2__cache_hdr_dest(H5F_t *f, H5B2_hdr_t *hdr); +static herr_t H5B2__cache_hdr_clear(H5F_t *f, H5B2_hdr_t *hdr, hbool_t destroy); +static herr_t H5B2__cache_hdr_size(const H5F_t *f, const H5B2_hdr_t *hdr, size_t *size_ptr); +static H5B2_internal_t *H5B2__cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata); +static herr_t H5B2__cache_internal_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_internal_t *i, unsigned UNUSED * flags_ptr); +static herr_t H5B2__cache_internal_dest(H5F_t *f, H5B2_internal_t *internal); +static herr_t H5B2__cache_internal_clear(H5F_t *f, H5B2_internal_t *i, hbool_t destroy); +static herr_t H5B2__cache_internal_size(const H5F_t *f, const H5B2_internal_t *i, size_t *size_ptr); +static H5B2_leaf_t *H5B2__cache_leaf_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata); +static herr_t H5B2__cache_leaf_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_leaf_t *l, unsigned UNUSED * flags_ptr); +static herr_t H5B2__cache_leaf_dest(H5F_t *f, H5B2_leaf_t *leaf); +static herr_t H5B2__cache_leaf_clear(H5F_t *f, H5B2_leaf_t *l, hbool_t destroy); +static herr_t H5B2__cache_leaf_size(const H5F_t *f, const H5B2_leaf_t *l, size_t *size_ptr); /*********************/ @@ -93,34 +93,34 @@ static herr_t H5B2_cache_leaf_size(const H5F_t *f, const H5B2_leaf_t *l, size_t /* H5B2 inherits cache-like properties from H5AC */ const H5AC_class_t H5AC_BT2_HDR[1] = {{ H5AC_BT2_HDR_ID, - (H5AC_load_func_t)H5B2_cache_hdr_load, - (H5AC_flush_func_t)H5B2_cache_hdr_flush, - (H5AC_dest_func_t)H5B2_cache_hdr_dest, - (H5AC_clear_func_t)H5B2_cache_hdr_clear, + (H5AC_load_func_t)H5B2__cache_hdr_load, + (H5AC_flush_func_t)H5B2__cache_hdr_flush, + (H5AC_dest_func_t)H5B2__cache_hdr_dest, + (H5AC_clear_func_t)H5B2__cache_hdr_clear, (H5AC_notify_func_t)NULL, - (H5AC_size_func_t)H5B2_cache_hdr_size, + (H5AC_size_func_t)H5B2__cache_hdr_size, }}; /* H5B2 inherits cache-like properties from H5AC */ const H5AC_class_t H5AC_BT2_INT[1] = {{ H5AC_BT2_INT_ID, - (H5AC_load_func_t)H5B2_cache_internal_load, - (H5AC_flush_func_t)H5B2_cache_internal_flush, - (H5AC_dest_func_t)H5B2_cache_internal_dest, - (H5AC_clear_func_t)H5B2_cache_internal_clear, + (H5AC_load_func_t)H5B2__cache_internal_load, + (H5AC_flush_func_t)H5B2__cache_internal_flush, + (H5AC_dest_func_t)H5B2__cache_internal_dest, + (H5AC_clear_func_t)H5B2__cache_internal_clear, (H5AC_notify_func_t)NULL, - (H5AC_size_func_t)H5B2_cache_internal_size, + (H5AC_size_func_t)H5B2__cache_internal_size, }}; /* H5B2 inherits cache-like properties from H5AC */ const H5AC_class_t H5AC_BT2_LEAF[1] = {{ H5AC_BT2_LEAF_ID, - (H5AC_load_func_t)H5B2_cache_leaf_load, - (H5AC_flush_func_t)H5B2_cache_leaf_flush, - (H5AC_dest_func_t)H5B2_cache_leaf_dest, - (H5AC_clear_func_t)H5B2_cache_leaf_clear, + (H5AC_load_func_t)H5B2__cache_leaf_load, + (H5AC_flush_func_t)H5B2__cache_leaf_flush, + (H5AC_dest_func_t)H5B2__cache_leaf_dest, + (H5AC_clear_func_t)H5B2__cache_leaf_clear, (H5AC_notify_func_t)NULL, - (H5AC_size_func_t)H5B2_cache_leaf_size, + (H5AC_size_func_t)H5B2__cache_leaf_size, }}; @@ -136,7 +136,7 @@ const H5AC_class_t H5AC_BT2_LEAF[1] = {{ /*------------------------------------------------------------------------- - * Function: H5B2_cache_hdr_load + * Function: H5B2__cache_hdr_load * * Purpose: Loads a B-tree header from the disk. * @@ -150,7 +150,7 @@ const H5AC_class_t H5AC_BT2_LEAF[1] = {{ *------------------------------------------------------------------------- */ static H5B2_hdr_t * -H5B2_cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) +H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) { H5B2_hdr_t *hdr = NULL; /* B-tree header */ H5B2_hdr_cache_ud_t *udata = (H5B2_hdr_cache_ud_t *)_udata; @@ -165,7 +165,7 @@ H5B2_cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) const uint8_t *p; /* Pointer into raw data buffer */ H5B2_hdr_t *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check arguments */ HDassert(f); @@ -256,11 +256,11 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTRELEASE, NULL, "can't release v2 B-tree header") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_cache_hdr_load() */ /*lint !e818 Can't make udata a pointer to const */ +} /* end H5B2__cache_hdr_load() */ /*lint !e818 Can't make udata a pointer to const */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_hdr_flush + * Function: H5B2__cache_hdr_flush * * Purpose: Flushes a dirty B-tree header to disk. * @@ -273,14 +273,14 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_hdr_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, +H5B2__cache_hdr_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_hdr_t *hdr, unsigned UNUSED * flags_ptr) { H5WB_t *wb = NULL; /* Wrapped buffer for header data */ uint8_t hdr_buf[H5B2_HDR_BUF_SIZE]; /* Buffer for header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check arguments */ HDassert(f); @@ -351,7 +351,7 @@ H5B2_cache_hdr_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, } /* end if */ if(destroy) - if(H5B2_cache_hdr_dest(f, hdr) < 0) + if(H5B2__cache_hdr_dest(f, hdr) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree header") done: @@ -360,11 +360,11 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CLOSEERROR, FAIL, "can't close wrapped buffer") FUNC_LEAVE_NOAPI(ret_value) -} /* H5B2_cache_hdr_flush() */ +} /* H5B2__cache_hdr_flush() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_hdr_dest + * Function: H5B2__cache_hdr_dest * * Purpose: Destroys a B-tree header in memory. * @@ -377,11 +377,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_hdr_dest(H5F_t *f, H5B2_hdr_t *hdr) +H5B2__cache_hdr_dest(H5F_t *f, H5B2_hdr_t *hdr) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check arguments */ HDassert(hdr); @@ -404,11 +404,11 @@ H5B2_cache_hdr_dest(H5F_t *f, H5B2_hdr_t *hdr) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_cache_hdr_dest() */ +} /* end H5B2__cache_hdr_dest() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_hdr_clear + * Function: H5B2__cache_hdr_clear * * Purpose: Mark a B-tree header in memory as non-dirty. * @@ -421,11 +421,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_hdr_clear(H5F_t *f, H5B2_hdr_t *hdr, hbool_t destroy) +H5B2__cache_hdr_clear(H5F_t *f, H5B2_hdr_t *hdr, hbool_t destroy) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Check arguments. @@ -436,16 +436,16 @@ H5B2_cache_hdr_clear(H5F_t *f, H5B2_hdr_t *hdr, hbool_t destroy) hdr->cache_info.is_dirty = FALSE; if(destroy) - if(H5B2_cache_hdr_dest(f, hdr) < 0) + if(H5B2__cache_hdr_dest(f, hdr) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree header") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_cache_hdr_clear() */ +} /* end H5B2__cache_hdr_clear() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_hdr_size + * Function: H5B2__cache_hdr_size * * Purpose: Compute the size in bytes of a B-tree header * on disk, and return it in *size_ptr. On failure, @@ -460,9 +460,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_hdr_size(const H5F_t UNUSED *f, const H5B2_hdr_t *hdr, size_t *size_ptr) +H5B2__cache_hdr_size(const H5F_t UNUSED *f, const H5B2_hdr_t *hdr, size_t *size_ptr) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR /* check arguments */ HDassert(f); @@ -472,11 +472,11 @@ H5B2_cache_hdr_size(const H5F_t UNUSED *f, const H5B2_hdr_t *hdr, size_t *size_p *size_ptr = hdr->hdr_size; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5B2_cache_hdr_size() */ +} /* H5B2__cache_hdr_size() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_internal_load + * Function: H5B2__cache_internal_load * * Purpose: Loads a B-tree internal node from the disk. * @@ -490,7 +490,7 @@ H5B2_cache_hdr_size(const H5F_t UNUSED *f, const H5B2_hdr_t *hdr, size_t *size_p *------------------------------------------------------------------------- */ static H5B2_internal_t * -H5B2_cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) +H5B2__cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) { H5B2_internal_cache_ud_t *udata = (H5B2_internal_cache_ud_t *)_udata; /* Pointer to user data */ H5B2_internal_t *internal = NULL; /* Internal node read */ @@ -502,7 +502,7 @@ H5B2_cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) unsigned u; /* Local index variable */ H5B2_internal_t *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check arguments */ HDassert(f); @@ -604,11 +604,11 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTFREE, NULL, "unable to destroy B-tree internal node") FUNC_LEAVE_NOAPI(ret_value) -} /* H5B2_cache_internal_load() */ /*lint !e818 Can't make udata a pointer to const */ +} /* H5B2__cache_internal_load() */ /*lint !e818 Can't make udata a pointer to const */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_internal_flush + * Function: H5B2__cache_internal_flush * * Purpose: Flushes a dirty B-tree internal node to disk. * @@ -621,11 +621,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_internal_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_internal_t *internal, unsigned UNUSED * flags_ptr) +H5B2__cache_internal_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_internal_t *internal, unsigned UNUSED * flags_ptr) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check arguments */ HDassert(f); @@ -696,16 +696,16 @@ H5B2_cache_internal_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr } /* end if */ if(destroy) - if(H5B2_cache_internal_dest(f, internal) < 0) + if(H5B2__cache_internal_dest(f, internal) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree internal node") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5B2_cache_internal_flush() */ +} /* H5B2__cache_internal_flush() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_internal_dest + * Function: H5B2__cache_internal_dest * * Purpose: Destroys a B-tree internal node in memory. * @@ -718,11 +718,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_internal_dest(H5F_t *f, H5B2_internal_t *internal) +H5B2__cache_internal_dest(H5F_t *f, H5B2_internal_t *internal) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check arguments */ HDassert(f); @@ -746,11 +746,11 @@ H5B2_cache_internal_dest(H5F_t *f, H5B2_internal_t *internal) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_cache_internal_dest() */ +} /* end H5B2__cache_internal_dest() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_internal_clear + * Function: H5B2__cache_internal_clear * * Purpose: Mark a B-tree internal node in memory as non-dirty. * @@ -763,11 +763,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_internal_clear(H5F_t *f, H5B2_internal_t *internal, hbool_t destroy) +H5B2__cache_internal_clear(H5F_t *f, H5B2_internal_t *internal, hbool_t destroy) { herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Check arguments. @@ -778,16 +778,16 @@ H5B2_cache_internal_clear(H5F_t *f, H5B2_internal_t *internal, hbool_t destroy) internal->cache_info.is_dirty = FALSE; if(destroy) - if(H5B2_cache_internal_dest(f, internal) < 0) + if(H5B2__cache_internal_dest(f, internal) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree internal node") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_cache_internal_clear() */ +} /* end H5B2__cache_internal_clear() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_internal_size + * Function: H5B2__cache_internal_size * * Purpose: Compute the size in bytes of a B-tree internal node * on disk, and return it in *size_ptr. On failure, @@ -802,9 +802,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_internal_size(const H5F_t UNUSED *f, const H5B2_internal_t *internal, size_t *size_ptr) +H5B2__cache_internal_size(const H5F_t UNUSED *f, const H5B2_internal_t *internal, size_t *size_ptr) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* check arguments */ HDassert(internal); @@ -815,11 +815,11 @@ H5B2_cache_internal_size(const H5F_t UNUSED *f, const H5B2_internal_t *internal, *size_ptr = internal->hdr->node_size; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5B2_cache_internal_size() */ +} /* H5B2__cache_internal_size() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_leaf_load + * Function: H5B2__cache_leaf_load * * Purpose: Loads a B-tree leaf from the disk. * @@ -833,7 +833,7 @@ H5B2_cache_internal_size(const H5F_t UNUSED *f, const H5B2_internal_t *internal, *------------------------------------------------------------------------- */ static H5B2_leaf_t * -H5B2_cache_leaf_load(H5F_t UNUSED *f, hid_t dxpl_id, haddr_t addr, void *_udata) +H5B2__cache_leaf_load(H5F_t UNUSED *f, hid_t dxpl_id, haddr_t addr, void *_udata) { H5B2_leaf_cache_ud_t *udata = (H5B2_leaf_cache_ud_t *)_udata; H5B2_leaf_t *leaf = NULL; /* Pointer to lead node loaded */ @@ -844,7 +844,7 @@ H5B2_cache_leaf_load(H5F_t UNUSED *f, hid_t dxpl_id, haddr_t addr, void *_udata) unsigned u; /* Local index variable */ H5B2_leaf_t *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check arguments */ HDassert(f); @@ -926,11 +926,11 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTFREE, NULL, "unable to destroy B-tree leaf node") FUNC_LEAVE_NOAPI(ret_value) -} /* H5B2_cache_leaf_load() */ /*lint !e818 Can't make udata a pointer to const */ +} /* H5B2__cache_leaf_load() */ /*lint !e818 Can't make udata a pointer to const */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_leaf_flush + * Function: H5B2__cache_leaf_flush * * Purpose: Flushes a dirty B-tree leaf node to disk. * @@ -943,11 +943,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_leaf_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_leaf_t *leaf, unsigned UNUSED * flags_ptr) +H5B2__cache_leaf_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B2_leaf_t *leaf, unsigned UNUSED * flags_ptr) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check arguments */ HDassert(f); @@ -1004,16 +1004,16 @@ H5B2_cache_leaf_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5 } /* end if */ if(destroy) - if(H5B2_cache_leaf_dest(f, leaf) < 0) + if(H5B2__cache_leaf_dest(f, leaf) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree leaf node") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5B2_cache_leaf_flush() */ +} /* H5B2__cache_leaf_flush() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_leaf_dest + * Function: H5B2__cache_leaf_dest * * Purpose: Destroys a B-tree leaf node in memory. * @@ -1026,11 +1026,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_leaf_dest(H5F_t *f, H5B2_leaf_t *leaf) +H5B2__cache_leaf_dest(H5F_t *f, H5B2_leaf_t *leaf) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check arguments */ HDassert(f); @@ -1054,11 +1054,11 @@ H5B2_cache_leaf_dest(H5F_t *f, H5B2_leaf_t *leaf) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_cache_leaf_dest() */ +} /* end H5B2__cache_leaf_dest() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_leaf_clear + * Function: H5B2__cache_leaf_clear * * Purpose: Mark a B-tree leaf node in memory as non-dirty. * @@ -1071,11 +1071,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_leaf_clear(H5F_t *f, H5B2_leaf_t *leaf, hbool_t destroy) +H5B2__cache_leaf_clear(H5F_t *f, H5B2_leaf_t *leaf, hbool_t destroy) { herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Check arguments. @@ -1086,16 +1086,16 @@ H5B2_cache_leaf_clear(H5F_t *f, H5B2_leaf_t *leaf, hbool_t destroy) leaf->cache_info.is_dirty = FALSE; if(destroy) - if(H5B2_cache_leaf_dest(f, leaf) < 0) + if(H5B2__cache_leaf_dest(f, leaf) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree leaf node") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_cache_leaf_clear() */ +} /* end H5B2__cache_leaf_clear() */ /*------------------------------------------------------------------------- - * Function: H5B2_cache_leaf_size + * Function: H5B2__cache_leaf_size * * Purpose: Compute the size in bytes of a B-tree leaf node * on disk, and return it in *size_ptr. On failure, @@ -1110,9 +1110,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B2_cache_leaf_size(const H5F_t UNUSED *f, const H5B2_leaf_t *leaf, size_t *size_ptr) +H5B2__cache_leaf_size(const H5F_t UNUSED *f, const H5B2_leaf_t *leaf, size_t *size_ptr) { - FUNC_ENTER_NOAPI_NOERR + FUNC_ENTER_STATIC_NOERR /* check arguments */ HDassert(leaf); @@ -1123,5 +1123,5 @@ H5B2_cache_leaf_size(const H5F_t UNUSED *f, const H5B2_leaf_t *leaf, size_t *siz *size_ptr = leaf->hdr->node_size; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5B2_cache_leaf_size() */ +} /* H5B2__cache_leaf_size() */ diff --git a/src/H5B2hdr.c b/src/H5B2hdr.c index c90b296..2148f1e 100644 --- a/src/H5B2hdr.c +++ b/src/H5B2hdr.c @@ -413,7 +413,7 @@ done: herr_t H5B2_hdr_fuse_incr(H5B2_hdr_t *hdr) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Sanity check */ HDassert(hdr); @@ -441,7 +441,7 @@ H5B2_hdr_fuse_incr(H5B2_hdr_t *hdr) size_t H5B2_hdr_fuse_decr(H5B2_hdr_t *hdr) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Sanity check */ HDassert(hdr); @@ -601,6 +601,6 @@ done: if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_BT2_HDR, hdr->addr, hdr, cache_flags) < 0) HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree header") - FUNC_LEAVE_NOAPI(SUCCEED) + FUNC_LEAVE_NOAPI(ret_value) } /* end H5B2_hdr_delete() */ diff --git a/src/H5B2stat.c b/src/H5B2stat.c index a8f1fbd..5e48a6f 100644 --- a/src/H5B2stat.c +++ b/src/H5B2stat.c @@ -86,7 +86,7 @@ herr_t H5B2_stat_info(H5B2_t *bt2, H5B2_stat_t *info) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Check arguments. */ HDassert(info); diff --git a/src/H5Bcache.c b/src/H5Bcache.c index 68fb920..968c5ee 100644 --- a/src/H5Bcache.c +++ b/src/H5Bcache.c @@ -55,11 +55,11 @@ /********************/ /* Metadata cache callbacks */ -static H5B_t *H5B_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata); -static herr_t H5B_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *b, unsigned UNUSED * flags_ptr); -static herr_t H5B_dest(H5F_t *f, H5B_t *bt); -static herr_t H5B_clear(H5F_t *f, H5B_t *b, hbool_t destroy); -static herr_t H5B_compute_size(const H5F_t *f, const H5B_t *bt, size_t *size_ptr); +static H5B_t *H5B__load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata); +static herr_t H5B__flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *b, unsigned UNUSED * flags_ptr); +static herr_t H5B__dest(H5F_t *f, H5B_t *bt); +static herr_t H5B__clear(H5F_t *f, H5B_t *b, hbool_t destroy); +static herr_t H5B__compute_size(const H5F_t *f, const H5B_t *bt, size_t *size_ptr); /*********************/ @@ -69,12 +69,12 @@ static herr_t H5B_compute_size(const H5F_t *f, const H5B_t *bt, size_t *size_ptr /* H5B inherits cache-like properties from H5AC */ const H5AC_class_t H5AC_BT[1] = {{ H5AC_BT_ID, - (H5AC_load_func_t)H5B_load, - (H5AC_flush_func_t)H5B_flush, - (H5AC_dest_func_t)H5B_dest, - (H5AC_clear_func_t)H5B_clear, + (H5AC_load_func_t)H5B__load, + (H5AC_flush_func_t)H5B__flush, + (H5AC_dest_func_t)H5B__dest, + (H5AC_clear_func_t)H5B__clear, (H5AC_notify_func_t)NULL, - (H5AC_size_func_t)H5B_compute_size, + (H5AC_size_func_t)H5B__compute_size, }}; /*******************/ @@ -84,7 +84,7 @@ const H5AC_class_t H5AC_BT[1] = {{ /*------------------------------------------------------------------------- - * Function: H5B_load + * Function: H5B__load * * Purpose: Loads a B-tree node from the disk. * @@ -98,7 +98,7 @@ const H5AC_class_t H5AC_BT[1] = {{ *------------------------------------------------------------------------- */ static H5B_t * -H5B_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) +H5B__load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) { H5B_t *bt = NULL; /* Pointer to the deserialized B-tree node */ H5B_cache_ud_t *udata = (H5B_cache_ud_t *)_udata; /* User data for callback */ @@ -108,7 +108,7 @@ H5B_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) unsigned u; /* Local index variable */ H5B_t *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check arguments */ HDassert(f); @@ -189,11 +189,11 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTFREE, NULL, "unable to destroy B-tree node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B_load() */ /*lint !e818 Can't make udata a pointer to const */ +} /* end H5B__load() */ /*lint !e818 Can't make udata a pointer to const */ /*------------------------------------------------------------------------- - * Function: H5B_flush + * Function: H5B__flush * * Purpose: Flushes a dirty B-tree node to disk. * @@ -206,12 +206,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *bt, unsigned UNUSED * flags_ptr) +H5B__flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *bt, unsigned UNUSED * flags_ptr) { H5B_shared_t *shared; /* Pointer to shared B-tree info */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check arguments */ HDassert(f); @@ -275,16 +275,16 @@ H5B_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *bt, uns } /* end if */ if(destroy) - if(H5B_dest(f, bt) < 0) + if(H5B__dest(f, bt) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree node") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B_flush() */ +} /* end H5B__flush() */ /*------------------------------------------------------------------------- - * Function: H5B_dest + * Function: H5B__dest * * Purpose: Destroys a B-tree node in memory. * @@ -297,11 +297,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B_dest(H5F_t *f, H5B_t *bt) +H5B__dest(H5F_t *f, H5B_t *bt) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Check arguments. @@ -333,11 +333,11 @@ H5B_dest(H5F_t *f, H5B_t *bt) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B_dest() */ +} /* end H5B__dest() */ /*------------------------------------------------------------------------- - * Function: H5B_clear + * Function: H5B__clear * * Purpose: Mark a B-tree node in memory as non-dirty. * @@ -350,11 +350,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B_clear(H5F_t *f, H5B_t *bt, hbool_t destroy) +H5B__clear(H5F_t *f, H5B_t *bt, hbool_t destroy) { herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Check arguments. @@ -365,16 +365,16 @@ H5B_clear(H5F_t *f, H5B_t *bt, hbool_t destroy) bt->cache_info.is_dirty = FALSE; if(destroy) - if(H5B_dest(f, bt) < 0) + if(H5B__dest(f, bt) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree node") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B_clear() */ +} /* end H5B__clear() */ /*------------------------------------------------------------------------- - * Function: H5B_compute_size + * Function: H5B__compute_size * * Purpose: Compute the size in bytes of the specified instance of * H5B_t on disk, and return it in *len_ptr. On failure, @@ -388,11 +388,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5B_compute_size(const H5F_t UNUSED *f, const H5B_t *bt, size_t *size_ptr) +H5B__compute_size(const H5F_t UNUSED *f, const H5B_t *bt, size_t *size_ptr) { H5B_shared_t *shared; /* Pointer to shared B-tree info */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR /* check arguments */ HDassert(f); @@ -407,5 +407,5 @@ H5B_compute_size(const H5F_t UNUSED *f, const H5B_t *bt, size_t *size_ptr) *size_ptr = shared->sizeof_rnode; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5B_compute_size() */ +} /* H5B__compute_size() */ @@ -3339,7 +3339,9 @@ H5C_move_entry(H5C_t * cache_ptr, haddr_t old_addr, haddr_t new_addr) { +#if H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS hbool_t was_dirty; +#endif /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */ H5C_cache_entry_t * entry_ptr = NULL; H5C_cache_entry_t * test_entry_ptr = NULL; #if H5C_DO_SANITY_CHECKS @@ -3436,7 +3438,9 @@ H5C_move_entry(H5C_t * cache_ptr, if ( ! ( entry_ptr->destroy_in_progress ) ) { +#if H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS was_dirty = entry_ptr->is_dirty; +#endif /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */ if ( ! ( entry_ptr->flush_in_progress ) ) { diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index dd1860f..db195ca 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -307,7 +307,6 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache */ int space_ndims; /* Dataset's space rank */ hsize_t space_dim[H5O_LAYOUT_NDIMS]; /* Dataset's dataspace dimensions */ - H5FD_t *lf; herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC_TAG(dxpl_id, dset->oloc.addr, FAIL) diff --git a/src/H5Dint.c b/src/H5Dint.c index f2b70e7..e8d8e1d 100644 --- a/src/H5Dint.c +++ b/src/H5Dint.c @@ -2373,7 +2373,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D__mark(H5D_t *dataset, hid_t dxpl_id, unsigned flags) +H5D__mark(H5D_t *dataset, hid_t UNUSED dxpl_id, unsigned flags) { herr_t ret_value = SUCCEED; /* Return value */ diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h index 484b176..4309d64 100644 --- a/src/H5Dpublic.h +++ b/src/H5Dpublic.h @@ -108,7 +108,7 @@ typedef herr_t (*H5D_operator_t)(void *elem, hid_t type_id, unsigned ndim, const hsize_t *point, void *operator_data); /* Define the operator function pointer for H5Dscatter() */ -typedef herr_t (*H5D_scatter_func_t)(void **src_buf/*out*/, +typedef herr_t (*H5D_scatter_func_t)(const void **src_buf/*out*/, size_t *src_buf_bytes_used/*out*/, void *op_data); @@ -142,7 +142,7 @@ H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type, void *buf, H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t size[]); H5_DLL herr_t H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id, hid_t dst_space_id, void *dst_buf); -H5_DLL herr_t H5Dgather(hid_t src_space_id, void *src_buf, hid_t type_id, +H5_DLL herr_t H5Dgather(hid_t src_space_id, const void *src_buf, hid_t type_id, size_t dst_buf_size, void *dst_buf, H5D_gather_func_t op, void *op_data); H5_DLL herr_t H5Ddebug(hid_t dset_id); diff --git a/src/H5Dscatgath.c b/src/H5Dscatgath.c index 60a8800..4b0846f 100644 --- a/src/H5Dscatgath.c +++ b/src/H5Dscatgath.c @@ -925,7 +925,7 @@ H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id, H5S_t *dst_space; /* Dataspace */ H5S_sel_iter_t iter; /* Selection iteration info*/ hbool_t iter_init = FALSE; /* Selection iteration info has been initialized */ - void *src_buf = NULL; /* Source (contiguous) data buffer */ + const void *src_buf = NULL; /* Source (contiguous) data buffer */ size_t src_buf_nbytes = 0; /* Size of src_buf */ size_t type_size; /* Datatype element size */ hssize_t nelmts; /* Number of remaining elements in selection */ @@ -1018,8 +1018,8 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Dgather(hid_t src_space_id, void *src_buf, hid_t type_id, size_t dst_buf_size, - void *dst_buf, H5D_gather_func_t op, void *op_data) +H5Dgather(hid_t src_space_id, const void *src_buf, hid_t type_id, + size_t dst_buf_size, void *dst_buf, H5D_gather_func_t op, void *op_data) { H5T_t *type; /* Datatype */ H5S_t *src_space; /* Dataspace */ diff --git a/src/H5Eprivate.h b/src/H5Eprivate.h index b2ca5eb..0e6def6 100644 --- a/src/H5Eprivate.h +++ b/src/H5Eprivate.h @@ -39,8 +39,9 @@ typedef struct H5E_t H5E_t; * (Shouldn't need to be used outside this header file) */ #define HCOMMON_ERROR(maj, min, ...) \ - HERROR(maj, min, __VA_ARGS__); \ - err_occurred = TRUE; + HERROR(maj, min, __VA_ARGS__); \ + err_occurred = TRUE; \ + err_occurred = err_occurred; /* Shut GCC warnings up! */ /* * HDONE_ERROR macro, used to facilitate error reporting between a diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c index a3ce7f8..0a899a9 100644 --- a/src/H5FDmulti.c +++ b/src/H5FDmulti.c @@ -604,126 +604,6 @@ H5Pget_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map/*out*/, /*------------------------------------------------------------------------- - * Function: H5FD_multi_dxpl_copy_cb - * - * Purpose: Multi VFD DXPL property 'copy' callback - * - * Return: Success: 0 - * Failure: -1 - * - * Programmer: Quincey Koziol - * Wednesday, August 15, 2012 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD_multi_dxpl_copy_cb(const char *name, size_t size, void *_dx) -{ - H5FD_multi_dxpl_t *dx = (H5FD_multi_dxpl_t *)_dx; - static const char *func = "H5FD_multi_dxpl_copy_cb"; /* Function Name for error reporting */ - - /* Shut compiler up */ - name = name; - - /* Sanity check */ - assert(size == sizeof(H5FD_multi_dxpl_t)); - - ALL_MEMBERS(mt) { - if(dx->memb_dxpl[mt] >= 0) - if(H5Iinc_ref(dx->memb_dxpl[mt]) < 0) - H5Epush_ret(func, H5E_ERR_CLS, H5E_PLIST, H5E_CANTINC, "can't increment ref. count for multi VFD property", -1) - } END_MEMBERS; - - return 0; -} /* end H5FD_multi_dxpl_copy_cb() */ - - -/*------------------------------------------------------------------------- - * Function: H5FD_multi_dxpl_cmp_cb - * - * Purpose: Multi VFD DXPL property 'compare' callback - * - * Return: Success: same as memcmp() - * Failure: <can't fail> - * - * Programmer: Quincey Koziol - * Wednesday, August 15, 2012 - * - *------------------------------------------------------------------------- - */ -static int -H5FD_multi_dxpl_cmp_cb(const void *_dx1, const void *_dx2, size_t size) -{ - const H5FD_multi_dxpl_t *dx1 = (const H5FD_multi_dxpl_t *)_dx1; - const H5FD_multi_dxpl_t *dx2 = (const H5FD_multi_dxpl_t *)_dx2; - int cmp_status; - - /* Sanity check */ - assert(size == sizeof(H5FD_multi_dxpl_t)); - - ALL_MEMBERS(mt) { - if(dx1->memb_dxpl[mt] >= 0) { - if(dx2->memb_dxpl[mt] >= 0) { - cmp_status = H5Pequal(dx1->memb_dxpl[mt], dx2->memb_dxpl[mt]); - if(cmp_status != 0) - return(cmp_status); - } /* end if */ - else - return(-1); - } /* end if */ - else { - if(dx2->memb_dxpl[mt] >= 0) - return(1); - else - if(dx1->memb_dxpl[mt] > dx2->memb_dxpl[mt]) - return(-1); - else if(dx1->memb_dxpl[mt] < dx2->memb_dxpl[mt]) - return(1); - else - continue; - } /* end else */ - } END_MEMBERS; - - return 0; -} /* end H5FD_multi_dxpl_cmp_cb() */ - - -/*------------------------------------------------------------------------- - * Function: H5FD_multi_dxpl_cls_cb - * - * Purpose: Multi VFD DXPL property 'close' callback - * - * Return: Success: 0 - * Failure: -1 - * - * Programmer: Quincey Koziol - * Wednesday, August 15, 2012 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD_multi_dxpl_cls_cb(const char *name, size_t size, void *_dx) -{ - H5FD_multi_dxpl_t *dx = (H5FD_multi_dxpl_t *)_dx; - static const char *func = "H5FD_multi_dxpl_cls_cb"; /* Function Name for error reporting */ - - /* Shut compiler up */ - name = name; - - /* Sanity check */ - assert(size == sizeof(H5FD_multi_dxpl_t)); - - ALL_MEMBERS(mt) { - if(dx->memb_dxpl[mt] >= 0) - if(H5Idec_ref(dx->memb_dxpl[mt]) < 0) - H5Epush_ret(func, H5E_ERR_CLS, H5E_PLIST, H5E_CANTDEC, "can't increment ref. count for multi VFD property", -1) - } END_MEMBERS; - - return 0; -} /* end H5FD_multi_dxpl_cls_cb() */ - - -/*------------------------------------------------------------------------- * Function: H5FD_multi_sb_size * * Purpose: Returns the size of the private information to be stored in @@ -1783,7 +1663,7 @@ H5FD_multi_read(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, htri_t prop_exists = FALSE; /* Whether the multi VFD DXPL property already exists */ H5FD_mem_t mt, mmt, hi = H5FD_MEM_DEFAULT; haddr_t start_addr = 0; - static const char *func = "H5FD_multi_read"; /* Function Name for error reporting */ + dxpl_id = dxpl_id; /* Suppress compiler warning */ /* Clear the error stack */ H5Eclear2(H5E_DEFAULT); @@ -1835,7 +1715,7 @@ H5FD_multi_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, htri_t prop_exists = FALSE; /* Whether the multi VFD DXPL property already exists */ H5FD_mem_t mt, mmt, hi = H5FD_MEM_DEFAULT; haddr_t start_addr = 0; - static const char *func = "H5FD_multi_read"; /* Function Name for error reporting */ + dxpl_id = dxpl_id; /* Suppress compiler warning */ /* Clear the error stack */ H5Eclear2(H5E_DEFAULT); diff --git a/src/H5FDstdio.c b/src/H5FDstdio.c index 8f4f7f0..64919ed 100644 --- a/src/H5FDstdio.c +++ b/src/H5FDstdio.c @@ -414,7 +414,11 @@ H5FD_stdio_open( const char *name, unsigned flags, hid_t fapl_id, } /* Get the file descriptor (needed for truncate and some Windows information) */ +#ifdef H5_HAVE_WIN32_API + file->fd = _fileno(file->fp); +#else /* H5_HAVE_WIN32_API */ file->fd = fileno(file->fp); +#endif /* H5_HAVE_WIN32_API */ if(file->fd < 0) { free(file); fclose(f); diff --git a/src/H5Gent.c b/src/H5Gent.c index 17893fa..2cef9f7 100644 --- a/src/H5Gent.c +++ b/src/H5Gent.c @@ -361,7 +361,7 @@ H5G__ent_copy(H5G_entry_t *dst, const H5G_entry_t *src, H5_copy_depth_t depth) void H5G__ent_reset(H5G_entry_t *ent) { - FUNC_ENTER_PACKAGE + FUNC_ENTER_PACKAGE_NOERR /* Check arguments */ HDassert(ent); diff --git a/src/H5HFman.c b/src/H5HFman.c index 58e3318..b43356f 100644 --- a/src/H5HFman.c +++ b/src/H5HFman.c @@ -157,7 +157,7 @@ H5HF_man_insert(H5HF_hdr_t *hdr, hid_t dxpl_id, size_t obj_size, const void *obj HDassert(sec_node->sect_info.state == H5FS_SECT_LIVE); /* Retrieve direct block address from section */ - if(H5HF_sect_single_dblock_info(hdr, dxpl_id, sec_node, &dblock_addr, &dblock_size) < 0) + if(H5HF_sect_single_dblock_info(hdr, sec_node, &dblock_addr, &dblock_size) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't retrieve direct block information") /* Lock direct block */ diff --git a/src/H5HFpkg.h b/src/H5HFpkg.h index e0deca7..3e2db99 100644 --- a/src/H5HFpkg.h +++ b/src/H5HFpkg.h @@ -761,7 +761,7 @@ H5_DLL H5HF_free_section_t *H5HF_sect_single_new(hsize_t sect_off, size_t sect_size, H5HF_indirect_t *parent, unsigned par_entry); H5_DLL herr_t H5HF_sect_single_revive(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *sect); -H5_DLL herr_t H5HF_sect_single_dblock_info(H5HF_hdr_t *hdr, hid_t dxpl_id, +H5_DLL herr_t H5HF_sect_single_dblock_info(H5HF_hdr_t *hdr, H5HF_free_section_t *sect, haddr_t *dblock_addr, size_t *dblock_size); H5_DLL herr_t H5HF_sect_single_reduce(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *sect, size_t amt); diff --git a/src/H5HFsection.c b/src/H5HFsection.c index bf779a6..794d36c 100644 --- a/src/H5HFsection.c +++ b/src/H5HFsection.c @@ -648,7 +648,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5HF_sect_single_dblock_info(H5HF_hdr_t *hdr, hid_t dxpl_id, +H5HF_sect_single_dblock_info(H5HF_hdr_t *hdr, H5HF_free_section_t *sect, haddr_t *dblock_addr, size_t *dblock_size) { FUNC_ENTER_NOAPI_NOERR @@ -766,7 +766,7 @@ H5HF_sect_single_full_dblock(H5HF_hdr_t *hdr, hid_t dxpl_id, HDassert(hdr); /* Retrieve direct block address from section */ - if(H5HF_sect_single_dblock_info(hdr, dxpl_id, sect, &dblock_addr, &dblock_size) < 0) + if(H5HF_sect_single_dblock_info(hdr, sect, &dblock_addr, &dblock_size) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't retrieve direct block information") /* Check for section occupying entire direct block */ @@ -1087,7 +1087,7 @@ H5HF_sect_single_shrink(H5FS_section_info_t **_sect, void UNUSED *_udata) HGOTO_ERROR(H5E_HEAP, H5E_CANTINIT, FAIL, "can't revive single free section") /* Retrieve direct block address from section */ - if(H5HF_sect_single_dblock_info(hdr, dxpl_id, (*sect), &dblock_addr, &dblock_size) < 0) + if(H5HF_sect_single_dblock_info(hdr, (*sect), &dblock_addr, &dblock_size) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't retrieve direct block information") /* Protect the direct block for the section */ @@ -1197,7 +1197,7 @@ H5HF_sect_single_valid(const H5FS_section_class_t UNUSED *cls, const H5FS_sectio /* Retrieve direct block address from section */ /* (Casting away const OK - QAK) */ - status = H5HF_sect_single_dblock_info(iblock->hdr, H5AC_dxpl_id, (H5HF_free_section_t *)sect, &dblock_addr, &dblock_size); + status = H5HF_sect_single_dblock_info(iblock->hdr, (H5HF_free_section_t *)sect, &dblock_addr, &dblock_size); HDassert(status >= 0); HDassert(H5F_addr_eq(iblock->ents[sect->u.single.par_entry].addr, dblock_addr)); HDassert(dblock_size > 0); diff --git a/src/H5Opline.c b/src/H5Opline.c index 1a2baa0..0a0f12a 100644 --- a/src/H5Opline.c +++ b/src/H5Opline.c @@ -183,7 +183,7 @@ H5O_pline_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, H5O_t UNUSED *open_oh, else filter->name = filter->_name; - HDstrcpy(filter->name, (const char *)p); + HDstrncpy(filter->name, (const char *)p, actual_name_length); p += name_length; } /* end if */ @@ -375,12 +375,9 @@ H5O_pline_copy(const void *_src, void *_dst/*out*/) /* Allocate space for the filter name, or use the internal buffer */ if(namelen > H5Z_COMMON_NAME_LEN) { - dst->filter[i].name = (char *)H5MM_malloc(namelen); + dst->filter[i].name = (char *)H5MM_strdup(src->filter[i].name); if(NULL == dst->filter[i].name) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for filter name") - - /* Copy name */ - HDstrcpy(dst->filter[i].name, src->filter[i].name); } /* end if */ else dst->filter[i].name = dst->filter[i]._name; @@ -464,7 +461,7 @@ H5O_pline_size(const H5F_t UNUSED *f, const void *mesg) } /* end else */ ret_value += 2 + /*filter identification number */ - ((pline->version == H5O_PLINE_VERSION_1 || pline->filter[i].id >= H5Z_FILTER_RESERVED) ? 2 : 0) + /*name length */ + (size_t)((pline->version == H5O_PLINE_VERSION_1 || pline->filter[i].id >= H5Z_FILTER_RESERVED) ? 2 : 0) + /*name length */ 2 + /*flags */ 2 + /*number of client data values */ (pline->version == H5O_PLINE_VERSION_1 ? (size_t)H5O_ALIGN_OLD(name_len) : name_len); /*length of the filter name */ @@ -633,7 +630,7 @@ H5O_pline_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *mesg, FILE *s for(i = 0; i < pline->nused; i++) { char name[32]; - sprintf(name, "Filter at position %u", (unsigned)i); + HDsnprintf(name, sizeof(name), "Filter at position %u", (unsigned)i); HDfprintf(stream, "%*s%-*s\n", indent, "", fwidth, name); HDfprintf(stream, "%*s%-*s 0x%04x\n", indent + 3, "", MAX(0, fwidth - 3), "Filter identification:", @@ -656,7 +653,7 @@ H5O_pline_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *mesg, FILE *s for(j = 0; j < pline->filter[i].cd_nelmts; j++) { char field_name[32]; - sprintf(field_name, "CD value %lu", (unsigned long)j); + HDsnprintf(field_name, sizeof(field_name), "CD value %lu", (unsigned long)j); HDfprintf(stream, "%*s%-*s %u\n", indent + 6, "", MAX(0, fwidth - 6), field_name, pline->filter[i].cd_values[j]); diff --git a/src/H5Pocpl.c b/src/H5Pocpl.c index 2166020..32f6a1b 100644 --- a/src/H5Pocpl.c +++ b/src/H5Pocpl.c @@ -1195,7 +1195,6 @@ htri_t H5P_filter_in_pline(H5P_genplist_t *plist, H5Z_filter_t id) { H5O_pline_t pline; /* Filter pipeline */ - H5Z_filter_info_t *filter; /* Pointer to filter information */ htri_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -1668,6 +1668,9 @@ H5SL_below(H5SL_t *slist, const void *key) case H5SL_TYPE_GENERIC: H5SL_FIND(GENERIC, slist, x, const void, key, -) break; + + default: + HDassert(0 && "Unknown skiplist type!"); } /* end switch */ /* An exact match for 'key' must not have been found in list, if we get here */ @@ -1767,6 +1770,9 @@ H5SL_above(H5SL_t *slist, const void *key) case H5SL_TYPE_GENERIC: H5SL_FIND(GENERIC, slist, x, const void, key, -) break; + + default: + HDassert(0 && "Unknown skiplist type!"); } /* end switch */ /* An exact match for 'key' must not have been found in list, if we get here */ diff --git a/src/H5Shyper.c b/src/H5Shyper.c index d88ac35..f8d87e4 100644 --- a/src/H5Shyper.c +++ b/src/H5Shyper.c @@ -8249,6 +8249,9 @@ loc += fast_dim_buf_off; duffs_index = (fast_dim_count + 7) / 8; switch (fast_dim_count % 8) { + default: + HDassert(0 && "This Should never be executed!"); + break; case 0: do { @@ -3251,6 +3251,8 @@ H5T_copy(H5T_t *old_dt, H5T_copy_t method) new_dt->shared->state = H5T_STATE_RDONLY; } break; + default: + HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, NULL, "invalid copy method type") } /* end switch */ /* Update fields in the new struct, if we aren't sharing an already opened @@ -3453,6 +3455,8 @@ H5T_lock (H5T_t *dt, hbool_t immutable) case H5T_STATE_OPEN: /*void*/ break; + default: + HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "invalid datatype state") } done: @@ -4855,6 +4859,8 @@ H5T_oloc(H5T_t *dt) HDassert(dt->sh_loc.type == H5O_SHARE_TYPE_COMMITTED); ret_value = &dt->oloc; break; + default: + HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, NULL, "invalid datatype state") } /* end switch */ done: @@ -4893,6 +4899,8 @@ H5T_nameof(H5T_t *dt) case H5T_STATE_OPEN: ret_value = &(dt->path); break; + default: + HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, NULL, "invalid datatype state") } /* end switch */ done: diff --git a/src/H5Tdbg.c b/src/H5Tdbg.c index e5df7ff..fe204d8 100644 --- a/src/H5Tdbg.c +++ b/src/H5Tdbg.c @@ -237,6 +237,8 @@ H5T_debug(const H5T_t *dt, FILE *stream) case H5T_STATE_OPEN: s2 = "[named,open]"; break; + default: + HDassert(0 && "This Should never be executed!"); } /* end switch */ fprintf(stream, "%s%s {nbytes=%lu", s1, s2, (unsigned long)(dt->shared->size)); diff --git a/src/H5Znbit.c b/src/H5Znbit.c index 134ef3a..ebb534b 100644 --- a/src/H5Znbit.c +++ b/src/H5Znbit.c @@ -1093,6 +1093,8 @@ H5Z_nbit_decompress_one_array(unsigned char *data, size_t data_offset, parms_index++; /* skip size of no-op type */ H5Z_nbit_decompress_one_nooptype(data, data_offset, buffer, j, buf_len, total_size); break; + default: + HDassert(0 && "This Should never be executed!"); } /* end switch */ } @@ -1131,6 +1133,8 @@ H5Z_nbit_decompress_one_compound(unsigned char *data, size_t data_offset, H5Z_nbit_decompress_one_nooptype(data, data_offset+member_offset, buffer, j, buf_len, size); break; + default: + HDassert(0 && "This Should never be executed!"); } /* end switch */ } } @@ -1179,6 +1183,8 @@ H5Z_nbit_decompress(unsigned char *data, unsigned d_nelmts, unsigned char *buffe parms_index = 4; } break; + default: + HDassert(0 && "This Should never be executed!"); } /* end switch */ } @@ -1320,6 +1326,8 @@ static void H5Z_nbit_compress_one_array(unsigned char *data, size_t data_offset, parms_index++; /* skip size of no-op type */ H5Z_nbit_compress_one_nooptype(data, data_offset, buffer, j, buf_len, total_size); break; + default: + HDassert(0 && "This Should never be executed!"); } /* end switch */ } @@ -1358,6 +1366,8 @@ static void H5Z_nbit_compress_one_compound(unsigned char *data, size_t data_offs H5Z_nbit_compress_one_nooptype(data, data_offset+member_offset, buffer, j, buf_len, size); break; + default: + HDassert(0 && "This Should never be executed!"); } /* end switch */ } } @@ -1406,6 +1416,8 @@ static void H5Z_nbit_compress(unsigned char *data, unsigned d_nelmts, unsigned c parms_index = 4; } break; + default: + HDassert(0 && "This Should never be executed!"); } /* end switch */ /* Update the size to the new value after compression. If there are any bits hanging over in diff --git a/src/H5Zshuffle.c b/src/H5Zshuffle.c index 7aa0202..90509b0 100644 --- a/src/H5Zshuffle.c +++ b/src/H5Zshuffle.c @@ -183,6 +183,9 @@ H5Z_filter_shuffle(unsigned flags, size_t cd_nelmts, const unsigned cd_values[], duffs_index = (numofelements + 7) / 8; switch (numofelements % 8) { + default: + HDassert(0 && "This Should never be executed!"); + break; case 0: do { @@ -238,6 +241,9 @@ H5Z_filter_shuffle(unsigned flags, size_t cd_nelmts, const unsigned cd_values[], duffs_index = (numofelements + 7) / 8; switch (numofelements % 8) { + default: + HDassert(0 && "This Should never be executed!"); + break; case 0: do { diff --git a/src/H5checksum.c b/src/H5checksum.c index ec8b2b0..48e4ce5 100644 --- a/src/H5checksum.c +++ b/src/H5checksum.c @@ -422,6 +422,8 @@ H5_checksum_lookup3(const void *key, size_t length, uint32_t initval) case 1 : a+=k[0]; break; case 0 : goto done; + default: + HDassert(0 && "This Should never be executed!"); } H5_lookup3_final(a, b, c); diff --git a/src/H5dbg.c b/src/H5dbg.c index 5441895..2039a51 100644 --- a/src/H5dbg.c +++ b/src/H5dbg.c @@ -83,7 +83,7 @@ H5_buffer_dump(FILE *stream, int indent, const uint8_t *buf, { size_t u, v; /* Local index variable */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* * Check arguments. diff --git a/src/H5public.h b/src/H5public.h index ad13851..f203bd1 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -75,10 +75,10 @@ extern "C" { /* Version numbers */ #define H5_VERS_MAJOR 1 /* For major interface/format changes */ #define H5_VERS_MINOR 9 /* For minor interface/format changes */ -#define H5_VERS_RELEASE 156 /* For tweaks, bug-fixes, or development */ +#define H5_VERS_RELEASE 162 /* For tweaks, bug-fixes, or development */ #define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.9.156" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.9.162" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \ H5_VERS_RELEASE) diff --git a/src/H5system.c b/src/H5system.c index a93a128..4280066 100644 --- a/src/H5system.c +++ b/src/H5system.c @@ -114,6 +114,7 @@ HDfprintf(FILE *stream, const char *fmt, ...) char modifier[8]; int conv; char *rest, format_templ[128]; + int len; const char *s; va_list ap; @@ -138,7 +139,7 @@ HDfprintf(FILE *stream, const char *fmt, ...) s = fmt + 1; /* Flags */ - while(HDstrchr ("-+ #", *s)) { + while(HDstrchr("-+ #", *s)) { switch(*s) { case '-': leftjust = 1; @@ -155,6 +156,9 @@ HDfprintf(FILE *stream, const char *fmt, ...) case '#': prefix = 1; break; + + default: + HDassert(0 && "Unknown format flag"); } /* end switch */ /*lint !e744 Switch statement doesn't _need_ default */ s++; } /* end while */ @@ -189,7 +193,7 @@ HDfprintf(FILE *stream, const char *fmt, ...) } /* Extra type modifiers */ - if(HDstrchr("ZHhlqLI", *s)) { + if(HDstrchr("zZHhlqLI", *s)) { switch(*s) { /*lint --e{506} Don't issue warnings about constant value booleans */ /*lint --e{774} Don't issue warnings boolean within 'if' always evaluates false/true */ @@ -203,6 +207,7 @@ HDfprintf(FILE *stream, const char *fmt, ...) break; case 'Z': + case 'z': if(sizeof(size_t) < sizeof(long)) modifier[0] = '\0'; else if(sizeof(size_t) == sizeof(long)) @@ -242,16 +247,17 @@ HDfprintf(FILE *stream, const char *fmt, ...) conv = *s++; /* Create the format template */ - sprintf(format_templ, "%%%s%s%s%s%s", (leftjust ? "-" : ""), + len = 0; + len += HDsnprintf(format_templ, (sizeof(format_templ) - (size_t)(len + 1)), "%%%s%s%s%s%s", (leftjust ? "-" : ""), (plussign ? "+" : ""), (ldspace ? " " : ""), (prefix ? "#" : ""), (zerofill ? "0" : "")); if(fwidth > 0) - sprintf(format_templ+HDstrlen(format_templ), "%d", fwidth); + len += HDsnprintf(format_templ + len, (sizeof(format_templ) - (size_t)(len + 1)), "%d", fwidth); if(prec > 0) - sprintf(format_templ+HDstrlen(format_templ), ".%d", prec); + len += HDsnprintf(format_templ + len, (sizeof(format_templ) - (size_t)(len + 1)), ".%d", prec); if(*modifier) - sprintf(format_templ+HDstrlen(format_templ), "%s", modifier); - sprintf (format_templ+HDstrlen(format_templ), "%c", conv); + len += HDsnprintf(format_templ + len, (sizeof(format_templ) - (size_t)(len + 1)), "%s", modifier); + HDsnprintf(format_templ + len, (sizeof(format_templ) - (size_t)(len + 1)), "%c", conv); /* Conversion */ @@ -323,31 +329,42 @@ HDfprintf(FILE *stream, const char *fmt, ...) haddr_t x = va_arg (ap, haddr_t); /*lint !e732 Loss of sign not really occuring */ if(H5F_addr_defined(x)) { - sprintf(format_templ, "%%%s%s%s%s%s", + len = 0; + len += HDsnprintf(format_templ, (sizeof(format_templ) - (size_t)(len + 1)), "%%%s%s%s%s%s", (leftjust ? "-" : ""), (plussign ? "+" : ""), (ldspace ? " " : ""), (prefix ? "#" : ""), (zerofill ? "0" : "")); if(fwidth > 0) - sprintf(format_templ + HDstrlen(format_templ), "%d", fwidth); + len += HDsnprintf(format_templ + len, (sizeof(format_templ) - (size_t)(len + 1)), "%d", fwidth); /*lint --e{506} Don't issue warnings about constant value booleans */ /*lint --e{774} Don't issue warnings boolean within 'if' always evaluates false/true */ - if(sizeof(x) == H5_SIZEOF_INT) - HDstrcat(format_templ, "u"); - else if(sizeof(x) == H5_SIZEOF_LONG) - HDstrcat(format_templ, "lu"); + if(sizeof(x) == H5_SIZEOF_INT) { + HDstrncat(format_templ, "u", (sizeof(format_templ) - (size_t)(len + 1))); + len++; + } /* end if */ + else if(sizeof(x) == H5_SIZEOF_LONG) { + HDstrncat(format_templ, "lu", (sizeof(format_templ) - (size_t)(len + 1))); + len++; + } /* end if */ else if(sizeof(x) == H5_SIZEOF_LONG_LONG) { - HDstrcat(format_templ, H5_PRINTF_LL_WIDTH); - HDstrcat(format_templ, "u"); + HDstrncat(format_templ, H5_PRINTF_LL_WIDTH, (sizeof(format_templ) - (size_t)(len + 1))); + len += (int)sizeof(H5_PRINTF_LL_WIDTH); + HDstrncat(format_templ, "u", (sizeof(format_templ) - (size_t)(len + 1))); + len++; } n = fprintf(stream, format_templ, x); } else { - HDstrcpy(format_templ, "%"); - if(leftjust) - HDstrcat(format_templ, "-"); + len = 0; + HDstrncpy(format_templ, "%", (sizeof(format_templ) - (size_t)(len + 1))); + len++; + if(leftjust) { + HDstrncat(format_templ, "-", (sizeof(format_templ) - (size_t)(len + 1))); + len++; + } /* end if */ if(fwidth) - sprintf(format_templ+HDstrlen(format_templ), "%d", fwidth); - HDstrcat(format_templ, "s"); + len += HDsnprintf(format_templ + len, (sizeof(format_templ) - (size_t)(len + 1)), "%d", fwidth); + HDstrncat(format_templ, "s", (sizeof(format_templ) - (size_t)(len + 1))); fprintf(stream, format_templ, "UNDEF"); } } @@ -456,8 +473,9 @@ HDstrtoll(const char *s, const char **rest, int base) errno = 0; if (!s || (base && (base<2 || base>36))) { - if (rest) *rest = s; - return 0; + if (rest) + *rest = s; + return 0; } /* Skip white space */ @@ -465,21 +483,21 @@ HDstrtoll(const char *s, const char **rest, int base) /* Optional minus or plus sign */ if ('+'==*s) { - s++; + s++; } else if ('-'==*s) { - sign = -1; - s++; + sign = -1; + s++; } /* Zero base prefix */ if (0==base && '0'==*s && ('x'==s[1] || 'X'==s[1])) { - base = 16; - s += 2; + base = 16; + s += 2; } else if (0==base && '0'==*s) { - base = 8; - s++; + base = 8; + s++; } else if (0==base) { - base = 10; + base = 10; } /* Digits */ @@ -487,34 +505,39 @@ HDstrtoll(const char *s, const char **rest, int base) (base>10 && ((*s>='0' && *s<='9') || (*s>='a' && *s<'a'+base-10) || (*s>='A' && *s<'A'+base-10)))) { - if (!overflow) { - int64_t digit = 0; - if (*s>='0' && *s<='9') digit = *s - '0'; - else if (*s>='a' && *s<='z') digit = (*s-'a')+10; - else digit = (*s-'A')+10; - - if (acc*base+digit < acc) { - overflow = TRUE; - } else { - acc = acc*base + digit; - } - } - s++; + if (!overflow) { + int64_t digit = 0; + + if (*s>='0' && *s<='9') + digit = *s - '0'; + else if (*s>='a' && *s<='z') + digit = (*s-'a')+10; + else + digit = (*s-'A')+10; + + if (acc*base+digit < acc) { + overflow = TRUE; + } else { + acc = acc*base + digit; + } + } + s++; } /* Overflow */ if (overflow) { - if (sign>0) { - acc = ((uint64_t)1<<(8*sizeof(int64_t)-1))-1; - } else { - acc = (int64_t)((uint64_t)1<<(8*sizeof(int64_t)-1)); - } - errno = ERANGE; + if (sign>0) { + acc = ((uint64_t)1<<(8*sizeof(int64_t)-1))-1; + } else { + acc = (int64_t)((uint64_t)1<<(8*sizeof(int64_t)-1)); + } + errno = ERANGE; } /* Return values */ acc *= sign; - if (rest) *rest = s; + if (rest) + *rest = s; return acc; } /* end HDstrtoll() */ @@ -575,12 +598,13 @@ int HDremove_all(const char *fname) { int ret_value = -1; + size_t fname_len; char *_fname; - _fname = (char *)H5MM_malloc(HDstrlen(fname) + 3); /* to accomodate ;* and null */ + fname_len = HDstrlen(fname) + 3; /* to accomodate ";*" and null terminator */ + _fname = (char *)H5MM_malloc(fname_len); if(_fname) { - HDstrcpy(_fname, fname); - HDstrcat(_fname,";*"); + HDsnprintf(_fname, fname_len, "%s;*", fname); /* Do not use HDremove; function becomes recursive (see H5private.h file)*/ remove(_fname); H5MM_xfree(_fname); @@ -666,6 +690,30 @@ Wgetlogin() return NULL; } +int c99_snprintf(char* str, size_t size, const char* format, ...) +{ + int count; + va_list ap; + + va_start(ap, format); + count = c99_vsnprintf(str, size, format, ap); + va_end(ap); + + return count; +} + +int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap) +{ + int count = -1; + + if (size != 0) + count = _vsnprintf_s(str, size, _TRUNCATE, format, ap); + if (count == -1) + count = _vscprintf(format, ap); + + return count; +} + #endif @@ -698,6 +746,10 @@ H5_build_extpath(const char *name, char **extpath/*out*/) FUNC_ENTER_NOAPI_NOINIT + /* Sanity check */ + HDassert(name); + HDassert(extpath); + /* Clear external path pointer to begin with */ *extpath = NULL; @@ -713,11 +765,13 @@ H5_build_extpath(const char *name, char **extpath/*out*/) } /* end if */ else { /* relative pathname */ char *retcwd; + size_t name_len; int drive; if(NULL == (cwdpath = (char *)H5MM_malloc(MAX_PATH_LEN))) HGOTO_ERROR(H5E_INTERNAL, H5E_NOSPACE, FAIL, "memory allocation failed") - if(NULL == (new_name = (char *)H5MM_strdup(name))) + name_len = HDstrlen(name) + 1; + if(NULL == (new_name = (char *)H5MM_malloc(name_len))) HGOTO_ERROR(H5E_INTERNAL, H5E_NOSPACE, FAIL, "memory allocation failed") /* @@ -729,7 +783,7 @@ H5_build_extpath(const char *name, char **extpath/*out*/) if(H5_CHECK_ABS_DRIVE(name)) { drive = name[0] - 'A' + 1; retcwd = HDgetdcwd(drive, cwdpath, MAX_PATH_LEN); - HDstrcpy(new_name, &name[2]); + HDstrncpy(new_name, &name[2], name_len); } /* end if */ /* * Windows: name[0] is a '/' or '\' @@ -738,20 +792,24 @@ H5_build_extpath(const char *name, char **extpath/*out*/) * OpenVMS: does not apply */ else if(H5_CHECK_ABS_PATH(name) && (0 != (drive = HDgetdrive()))) { - sprintf(cwdpath, "%c:%c", (drive+'A'-1), name[0]); + HDsnprintf(cwdpath, MAX_PATH_LEN, "%c:%c", (drive + 'A' - 1), name[0]); retcwd = cwdpath; - HDstrcpy(new_name, &name[1]); + HDstrncpy(new_name, &name[1], name_len); } /* totally relative for Unix, Windows, and OpenVMS: get current working directory */ - else + else { retcwd = HDgetcwd(cwdpath, MAX_PATH_LEN); + HDstrncpy(new_name, name, name_len); + } /* end if */ if(retcwd != NULL) { size_t cwdlen; size_t path_len; + HDassert(cwdpath); cwdlen = HDstrlen(cwdpath); HDassert(cwdlen); + HDassert(new_name); path_len = cwdlen + HDstrlen(new_name) + 2; if(NULL == (full_path = (char *)H5MM_malloc(path_len))) HGOTO_ERROR(H5E_INTERNAL, H5E_NOSPACE, FAIL, "memory allocation failed") @@ -768,7 +826,7 @@ H5_build_extpath(const char *name, char **extpath/*out*/) char *tmp = new_name; full_path[cwdlen - 1] = '\0'; - HDstrcat(full_path, ++tmp); + HDstrncat(full_path, ++tmp, HDstrlen(tmp)); } /* end if */ else HDstrncat(full_path, new_name, HDstrlen(new_name)); @@ -793,9 +851,9 @@ H5_build_extpath(const char *name, char **extpath/*out*/) done: /* Release resources */ if(cwdpath) - H5MM_xfree(cwdpath); + H5MM_xfree(cwdpath); if(new_name) - H5MM_xfree(new_name); + H5MM_xfree(new_name); FUNC_LEAVE_NOAPI(ret_value) } /* H5_build_extpath() */ diff --git a/src/H5win32defs.h b/src/H5win32defs.h index e9b87625..d452925 100644 --- a/src/H5win32defs.h +++ b/src/H5win32defs.h @@ -29,6 +29,7 @@ typedef struct _stati64 h5_stat_t; typedef __int64 h5_stat_size_t; #define HDaccess(F,M) _access(F,M) +#define HDchdir(S) _chdir(S) #define HDclose(F) _close(F) #define HDdup(F) _dup(F) #define HDfdopen(N,S) _fdopen(N,S) @@ -47,16 +48,15 @@ typedef __int64 h5_stat_size_t; */ #define HDopen(S,F,M) _open(S,F|_O_BINARY,M) #define HDread(F,M,Z) _read(F,M,Z) +#define HDrmdir(S) _rmdir(S) #define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,(Z>1?Z:2)) #define HDsleep(S) Sleep(S*1000) #define HDstat(S,B) _stati64(S,B) #define HDstrcasecmp(A,B) _stricmp(A,B) #define HDstrtoull(S,R,N) _strtoui64(S,R,N) #define HDstrdup(S) _strdup(S) -#define HDsnprintf _snprintf /*varargs*/ #define HDtzset() _tzset() #define HDunlink(S) _unlink(S) -#define HDvsnprintf(S,N,FMT,A) _vsnprintf(S,N,FMT,A) #define HDwrite(F,M,Z) _write(F,M,Z) #ifdef H5_HAVE_VISUAL_STUDIO @@ -75,11 +75,15 @@ struct timezone { #endif /* __cplusplus */ H5_DLL int Wgettimeofday(struct timeval *tv, struct timezone *tz); H5_DLL char* Wgetlogin(); + H5_DLL int c99_snprintf(char* str, size_t size, const char* format, ...); + H5_DLL int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap); #ifdef __cplusplus } #endif /* __cplusplus */ #define HDgettimeofday(V,Z) Wgettimeofday(V,Z) -#define HDgetlogin() Wgetlogin() +#define HDgetlogin() Wgetlogin() +#define HDsnprintf c99_snprintf /*varargs*/ +#define HDvsnprintf c99_vsnprintf #endif /* H5_HAVE_VISUAL_STUDIO */ diff --git a/src/Makefile.in b/src/Makefile.in index 2964efc..08e1ce2 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -522,7 +522,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 146 +LT_VERS_REVISION = 152 LT_VERS_AGE = 0 H5detect_CFLAGS = -g $(AM_CFLAGS) |