diff options
author | David Young <dyoung@hdfgroup.org> | 2019-12-19 20:55:49 (GMT) |
---|---|---|
committer | David Young <dyoung@hdfgroup.org> | 2019-12-19 20:55:49 (GMT) |
commit | d11b347aa77cbcfa2bf782c8856bf559444ad880 (patch) | |
tree | df43489411575f566e0475ad4bb040dc69f623e6 /src/H5Oint.c | |
parent | 4281d101c41f80a75143c0d40232383a81afc7f0 (diff) | |
parent | 817235bb60e1f79c4b22b4a6116a1594aa75b81d (diff) | |
download | hdf5-d11b347aa77cbcfa2bf782c8856bf559444ad880.zip hdf5-d11b347aa77cbcfa2bf782c8856bf559444ad880.tar.gz hdf5-d11b347aa77cbcfa2bf782c8856bf559444ad880.tar.bz2 |
Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '817235bb60e1f79c4b22b4a6116a1594aa75b81d': (145 commits)
Remove const
Fix compile error - declaration after executable statement
Adjust cache.c only variables.
Fix include to correct memory calls - big-endian issue.
Update h5debug to retrieve file pointer through VOL framework
Minor whitespace
Remove duplicate instance
Revert and move declaration
Correct struct access
Fix duplicate and varname
Fix compile and test issues from DT
Modify H5VL initialization routines to initialize all VOL-managed object types. Modify H5VLwrap_register() to reject non-VOL-managed object types. Also fix overisights in h5trace.c from previous changes.
Add release note for sanitizer support
HDFFV-10979 cleanup globals
TRILABS-135 Add clang analyzers
HDFFV-10979 fix global name clash
Fix issues found with ONLY_SHARED_LIBS option
Fix 2010 compile issues
Change from using H5Dcreate to H5Dcreate2
Latest date first in RELEASE.txt
...
Diffstat (limited to 'src/H5Oint.c')
-rw-r--r-- | src/H5Oint.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/H5Oint.c b/src/H5Oint.c index ecf347c..b97ff30 100644 --- a/src/H5Oint.c +++ b/src/H5Oint.c @@ -352,8 +352,18 @@ H5O__create_ohdr(H5F_t *f, hid_t ocpl_id) HGOTO_ERROR(H5E_PLIST, H5E_BADTYPE, NULL, "not a property list") /* Get any object header status flags set by properties */ - if(H5P_get(oc_plist, H5O_CRT_OHDR_FLAGS_NAME, &oh_flags) < 0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get object header flags") + if(H5P_DATASET_CREATE_DEFAULT == ocpl_id) + { + /* If the OCPL is the default DCPL, we can get the header flags from the + * API context. Otherwise we have to call H5P_get */ + if(H5CX_get_ohdr_flags(&oh_flags) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get object header flags") + } + else + { + if(H5P_get(oc_plist, H5O_CRT_OHDR_FLAGS_NAME, &oh_flags) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get object header flags") + } if(H5O_set_version(f, oh, oh_flags, H5F_STORE_MSG_CRT_IDX(f)) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, NULL, "can't set version of object header") |