diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2012-09-05 18:13:15 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2012-09-05 18:13:15 (GMT) |
commit | 9ce6dadd4848ad1371d32f99d320efa87de32050 (patch) | |
tree | 1d301a6b3b50dda6b3f9490291c96c9cc0ec1f77 /src/H5HF.c | |
parent | 60daa9be2b660c4583f581c85ea2177b060c4fcb (diff) | |
parent | 1c9e159ffe6cf85a5c076f747758dc47eb7a111a (diff) | |
download | hdf5-9ce6dadd4848ad1371d32f99d320efa87de32050.zip hdf5-9ce6dadd4848ad1371d32f99d320efa87de32050.tar.gz hdf5-9ce6dadd4848ad1371d32f99d320efa87de32050.tar.bz2 |
[svn-r22739] ported revisions 22615 to 22737 from the trunk
Diffstat (limited to 'src/H5HF.c')
-rw-r--r-- | src/H5HF.c | 14 |
1 files changed, 4 insertions, 10 deletions
@@ -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: |