diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2009-07-13 15:39:05 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2009-07-13 15:39:05 (GMT) |
commit | 75800cf6b5724a7b19fe37017f559fffdcf52d6c (patch) | |
tree | 0c09462bc8969ea3000c663bfdc540be34f54571 /src/H5Dint.c | |
parent | b50178ea1a00b36e0491e00bbb84dcf0ed862d29 (diff) | |
download | hdf5-75800cf6b5724a7b19fe37017f559fffdcf52d6c.zip hdf5-75800cf6b5724a7b19fe37017f559fffdcf52d6c.tar.gz hdf5-75800cf6b5724a7b19fe37017f559fffdcf52d6c.tar.bz2 |
[svn-r17176] In H5Odtype.c, the decoding function used to mark the datatype as on disk. I changed it
to undefined and let the caller functions decide the location of the datatype. For
H5Tdecode, it should mark the datatype as in memory. For other callers like H5Dopen or
H5Aopen, they should makr it as on disk.
Tested it on jam, smirom, linew.
Diffstat (limited to 'src/H5Dint.c')
-rw-r--r-- | src/H5Dint.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/H5Dint.c b/src/H5Dint.c index 196ff04..d36dc95 100644 --- a/src/H5Dint.c +++ b/src/H5Dint.c @@ -1345,6 +1345,10 @@ H5D_open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) /* Get the type and space */ if(NULL == (dataset->shared->type = (H5T_t *)H5O_msg_read(&(dataset->oloc), H5O_DTYPE_ID, NULL, dxpl_id))) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to load type info from dataset header") + + if(H5T_set_loc(dataset->shared->type, dataset->oloc.file, H5T_LOC_DISK) < 0) + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location") + if(NULL == (dataset->shared->space = H5S_read(&(dataset->oloc), dxpl_id))) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to load dataspace info from dataset header") |