summaryrefslogtreecommitdiffstats
path: root/src/H5HF.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2012-08-20 18:44:14 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2012-08-20 18:44:14 (GMT)
commitd8f67a62cc4e0bd52a5a428608d46188dd5b27b2 (patch)
tree4001900da24308e5bb55934cba2faf140a41ac56 /src/H5HF.c
parent1560a6ea38d559edb211707d9507db0b8c085635 (diff)
downloadhdf5-d8f67a62cc4e0bd52a5a428608d46188dd5b27b2.zip
hdf5-d8f67a62cc4e0bd52a5a428608d46188dd5b27b2.tar.gz
hdf5-d8f67a62cc4e0bd52a5a428608d46188dd5b27b2.tar.bz2
[svn-r22700] Description:
Minor refactoring to extract managed object length determination. This makes the tiny, managed, and huge code work alike. Tested on: jam (very minor change, no need for full commit test)
Diffstat (limited to 'src/H5HF.c')
-rw-r--r--src/H5HF.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/H5HF.c b/src/H5HF.c
index a9750c9..64e8af2 100644
--- a/src/H5HF.c
+++ b/src/H5HF.c
@@ -439,14 +439,8 @@ H5HF_get_obj_len(H5HF_t *fh, hid_t dxpl_id, const void *_id, size_t *obj_len_p)
/* Check type of object in heap */
if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_MAN) {
- /* Skip over the flag byte */
- id++;
-
- /* Skip over object offset */
- id += fh->hdr->heap_off_size;
-
- /* Retrieve the entry length */
- UINT64DECODE_VAR(id, *obj_len_p, fh->hdr->heap_len_size);
+ if(H5HF_man_get_obj_len(fh->hdr, id, obj_len_p) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't get 'managed' object's length")
} /* end if */
else if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_HUGE) {
if(H5HF_huge_get_obj_len(fh->hdr, dxpl_id, id, obj_len_p) < 0)
@@ -457,8 +451,8 @@ H5HF_get_obj_len(H5HF_t *fh, hid_t dxpl_id, const void *_id, size_t *obj_len_p)
HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't get 'tiny' object's length")
} /* end if */
else {
-HDfprintf(stderr, "%s: Heap ID type not supported yet!\n", FUNC);
-HGOTO_ERROR(H5E_HEAP, H5E_UNSUPPORTED, FAIL, "heap ID type not supported yet")
+ HDfprintf(stderr, "%s: Heap ID type not supported yet!\n", FUNC);
+ HGOTO_ERROR(H5E_HEAP, H5E_UNSUPPORTED, FAIL, "heap ID type not supported yet")
} /* end else */
done: