summaryrefslogtreecommitdiffstats
path: root/src/H5B.c
diff options
context:
space:
mode:
authorDavid Young <dyoung@hdfgroup.org>2020-01-29 16:47:30 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2020-05-05 17:05:24 (GMT)
commitc61a2a024875eba5adce53394ddc25c7fb6920b9 (patch)
tree584e97a4175eb45f32c29869d025093f596eab6f /src/H5B.c
parent52931310e24bcdd43927d4c2e249094cc11c4839 (diff)
downloadhdf5-c61a2a024875eba5adce53394ddc25c7fb6920b9.zip
hdf5-c61a2a024875eba5adce53394ddc25c7fb6920b9.tar.gz
hdf5-c61a2a024875eba5adce53394ddc25c7fb6920b9.tar.bz2
Reduce casts of HDcalloc()/HDmalloc() that -Wc++-compat required.
Reduce gratuitous casts---e.g., (size_t)1. Use the right format string for a pointer. In the H5C sanity checks, change a "size increase" variable from ssize_t (too narrow) to int64_t (wide enough). Parenthesize every appearance of `storage` in the macro `H5D_CHUNK_STORAGE_INDEX_CHK(storage)` so that you can pass in an expression like &sc and it works properly. Disallow re-assignment of the `dset` parameter to H5D__chunk_init() because it helped assure me that it's safe to replace the repeating expression `&dset->shared->layout.storage.u.chunk` with `sc` throughout. Replace lengthy expressions such as `&dset->shared->layout.storage.u.chunk` with `sc` throughout several functions in H5Dchunk.c ISTR that the compiler warned that `sc` was declared but unused in a couple of functions, and then I found that `sc` could be used in many places. Maybe the disused `sc` appeared because a bunch of code was copied and pasted, I don't know. Anyway, it's a lot tighter code now that I use `sc`. In H5D__chunk_update_old_edge_chunks() and H5D__chunk_delete() I actually expand `sc` and another temporary variable, `pline`, because they're used only in !defined(NDEBUG) code. This squashes unused-variable warnings in the defined(NDEBUG) configuration. Don't drop the `volatile` qualification with a cast in tools/src/h5import/h5import.c.
Diffstat (limited to 'src/H5B.c')
-rw-r--r--src/H5B.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/H5B.c b/src/H5B.c
index 16772a8..301510a 100644
--- a/src/H5B.c
+++ b/src/H5B.c
@@ -2019,7 +2019,6 @@ H5B_valid(H5F_t *f, const H5B_class_t *type, haddr_t addr)
{
H5B_t *bt = NULL; /* The B-tree */
H5UC_t *rc_shared; /* Ref-counted shared info */
- H5B_shared_t *shared; /* Pointer to shared B-tree info */
H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */
htri_t ret_value = SUCCEED; /* Return value */
@@ -2036,9 +2035,8 @@ H5B_valid(H5F_t *f, const H5B_class_t *type, haddr_t addr)
/* Get shared info for B-tree */
if(NULL == (rc_shared = (type->get_shared)(f, NULL)))
- HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object")
- shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared);
- HDassert(shared);
+ HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object")
+ HDassert(H5UC_GET_OBJ(rc_shared) != NULL);
/*
* Load the tree node.