summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2013-08-21 15:44:35 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2013-08-21 15:44:35 (GMT)
commit78d8f8d7d12e779f640cf037bc52fd7e8a07061c (patch)
treef6a2bb20a4a34804b0253c18c205c5f77103d843 /src
parentff14409081fe6a5826b25658577aaf59f8fbb78f (diff)
parent482a9c28e71b0c1b3767bcf30be3c534bbc65ed9 (diff)
downloadhdf5-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.c88
-rw-r--r--src/H5B2cache.c192
-rw-r--r--src/H5B2hdr.c6
-rw-r--r--src/H5B2stat.c2
-rw-r--r--src/H5Bcache.c64
-rw-r--r--src/H5C.c4
-rw-r--r--src/H5Dchunk.c1
-rw-r--r--src/H5Dint.c2
-rw-r--r--src/H5Dpublic.h4
-rw-r--r--src/H5Dscatgath.c6
-rw-r--r--src/H5Eprivate.h5
-rw-r--r--src/H5FDmulti.c124
-rw-r--r--src/H5FDstdio.c4
-rw-r--r--src/H5Gent.c2
-rw-r--r--src/H5HFman.c2
-rw-r--r--src/H5HFpkg.h2
-rw-r--r--src/H5HFsection.c8
-rw-r--r--src/H5Opline.c13
-rw-r--r--src/H5Pocpl.c1
-rw-r--r--src/H5SL.c6
-rw-r--r--src/H5Shyper.c3
-rw-r--r--src/H5T.c8
-rw-r--r--src/H5Tdbg.c2
-rw-r--r--src/H5Znbit.c12
-rw-r--r--src/H5Zshuffle.c6
-rw-r--r--src/H5checksum.c2
-rw-r--r--src/H5dbg.c2
-rw-r--r--src/H5public.h4
-rw-r--r--src/H5system.c180
-rw-r--r--src/H5win32defs.h10
-rw-r--r--src/Makefile.in2
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() */
diff --git a/src/H5C.c b/src/H5C.c
index 0946af9..a63f98e 100644
--- a/src/H5C.c
+++ b/src/H5C.c
@@ -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)
diff --git a/src/H5SL.c b/src/H5SL.c
index 5c46fd4..2e2ad1e 100644
--- a/src/H5SL.c
+++ b/src/H5SL.c
@@ -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
{
diff --git a/src/H5T.c b/src/H5T.c
index b7ace9b..f6efda8 100644
--- a/src/H5T.c
+++ b/src/H5T.c
@@ -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)