summaryrefslogtreecommitdiffstats
path: root/src/H5D.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5D.c')
-rw-r--r--src/H5D.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/H5D.c b/src/H5D.c
index da14a45..18f4c58 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -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: