diff options
Diffstat (limited to 'src/H5D.c')
-rw-r--r-- | src/H5D.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -1252,6 +1252,11 @@ H5D_get_space_status(const H5D_t *dset, H5D_space_status_t *allocation, hid_t dx space=dset->space; assert(space); + if(H5S_NULL == H5S_get_simple_extent_type(space)) { + *allocation = H5D_SPACE_STATUS_NOT_ALLOCATED; + HGOTO_DONE(SUCCEED) + } + /* Get the total number of elements in dataset's dataspace */ if((total_elem=H5S_get_simple_extent_npoints(space))<0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCOUNT, FAIL, "unable to get # of dataspace elements") @@ -3206,7 +3211,9 @@ H5Diterate(void *buf, hid_t type_id, hid_t space_id, H5D_operator_t op, HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid datatype") if (NULL == (space = H5I_object_verify(space_id, H5I_DATASPACE))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid dataspace") - + if(H5S_NULL == H5S_get_simple_extent_type(space)) + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "null dataspace isn't supported") + ret_value=H5S_select_iterate(buf,type_id,space,op,operator_data); done: |