summaryrefslogtreecommitdiffstats
path: root/src/H5Fsuper.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2014-08-20 15:47:56 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2014-08-20 15:47:56 (GMT)
commit4866617465169fbd2b4642836ec10909b9e6b8ae (patch)
tree2395abef30dd2ce8f9c1dd58dc9b4ef37500e32c /src/H5Fsuper.c
parent0f87bc568ef4d25331ad1f2d9ec97c008dcf7f63 (diff)
parent32c3fec56c78afd04fd7846593b7003f6e54bfcc (diff)
downloadhdf5-4866617465169fbd2b4642836ec10909b9e6b8ae.zip
hdf5-4866617465169fbd2b4642836ec10909b9e6b8ae.tar.gz
hdf5-4866617465169fbd2b4642836ec10909b9e6b8ae.tar.bz2
[svn-r25540] merge trunk into avoid_truncate branch.
two tests are failing (test/mf and tools/testh5mkgrp)
Diffstat (limited to 'src/H5Fsuper.c')
-rw-r--r--src/H5Fsuper.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/H5Fsuper.c b/src/H5Fsuper.c
index afe3a7a..f99a3bd 100644
--- a/src/H5Fsuper.c
+++ b/src/H5Fsuper.c
@@ -320,6 +320,7 @@ done:
herr_t
H5F_super_read(H5F_t *f, hid_t dxpl_id)
{
+ H5P_genplist_t *dxpl; /* DXPL object */
H5F_super_t * sblock = NULL; /* superblock structure */
unsigned sblock_flags = H5AC__NO_FLAGS_SET; /* flags used in superblock unprotect call */
haddr_t super_addr; /* Absolute address of superblock */
@@ -329,9 +330,15 @@ H5F_super_read(H5F_t *f, hid_t dxpl_id)
FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__SUPERBLOCK_TAG, FAIL)
+ /* Get the DXPL plist object for DXPL ID */
+ if(NULL == (dxpl = (H5P_genplist_t *)H5I_object(dxpl_id)))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get property list")
+
/* Find the superblock */
- if(HADDR_UNDEF == (super_addr = H5F_locate_signature(f->shared->lf, dxpl_id)))
- HGOTO_ERROR(H5E_FILE, H5E_NOTHDF5, FAIL, "unable to find file signature")
+ if(H5FD_locate_signature(f->shared->lf, dxpl, &super_addr) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_NOTHDF5, FAIL, "unable to locate file signature")
+ if(HADDR_UNDEF == super_addr)
+ HGOTO_ERROR(H5E_FILE, H5E_NOTHDF5, FAIL, "file signature not found")
/* Check for userblock present */
if(H5F_addr_gt(super_addr, 0)) {