diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-08-20 15:47:56 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-08-20 15:47:56 (GMT) |
commit | 4866617465169fbd2b4642836ec10909b9e6b8ae (patch) | |
tree | 2395abef30dd2ce8f9c1dd58dc9b4ef37500e32c /src/H5Fsuper.c | |
parent | 0f87bc568ef4d25331ad1f2d9ec97c008dcf7f63 (diff) | |
parent | 32c3fec56c78afd04fd7846593b7003f6e54bfcc (diff) | |
download | hdf5-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.c | 11 |
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)) { |