summaryrefslogtreecommitdiffstats
path: root/src/H5D.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2012-04-09 22:17:52 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2012-04-09 22:17:52 (GMT)
commit0dbc51127e4b4bc2f3ada3b0958cc9dc2607c541 (patch)
tree6c6a2d732b70389e350f4f01b3920211e186de36 /src/H5D.c
parent7d7842302b1dcf0da0067b30c49da59b8f766cb3 (diff)
downloadhdf5-0dbc51127e4b4bc2f3ada3b0958cc9dc2607c541.zip
hdf5-0dbc51127e4b4bc2f3ada3b0958cc9dc2607c541.tar.gz
hdf5-0dbc51127e4b4bc2f3ada3b0958cc9dc2607c541.tar.bz2
[svn-r22271] unwrap the high level ids in several places
add some workarounds for named datatypes in test cases and H5T routines fix some iterate bugs with UD links
Diffstat (limited to 'src/H5D.c')
-rw-r--r--src/H5D.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/H5D.c b/src/H5D.c
index acb300f..4a9c03f 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -647,7 +647,7 @@ H5Diterate(void *buf, hid_t type_id, hid_t space_id, H5D_operator_t op,
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid operator")
if(NULL == buf)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid buffer")
- if(H5I_DATATYPE != H5I_get_type(type_id))
+ if(H5I_DATATYPE != H5I_get_type(type_id) && H5I_DATATYPE_PUBLIC != H5I_get_type(type_id))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid datatype")
if(NULL == (space = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid dataspace")
@@ -686,7 +686,8 @@ H5Dvlen_reclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *buf)
H5TRACE4("e", "iii*x", type_id, space_id, plist_id, buf);
/* Check args */
- if(H5I_DATATYPE != H5I_get_type(type_id) || buf == NULL)
+ if((H5I_DATATYPE != H5I_get_type(type_id) && H5I_DATATYPE_PUBLIC != H5I_get_type(type_id)) ||
+ buf == NULL)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid argument")
if(NULL == (space = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid dataspace")
@@ -748,7 +749,8 @@ H5Dvlen_get_buf_size(hid_t dataset_id, hid_t type_id, hid_t space_id,
/* Check args */
if(H5I_DATASET_PUBLIC != H5I_get_type(dataset_id) ||
- H5I_DATATYPE != H5I_get_type(type_id) || size == NULL)
+ (H5I_DATATYPE != H5I_get_type(type_id) && H5I_DATATYPE_PUBLIC != H5I_get_type(type_id)) ||
+ size == NULL)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid argument")
if(NULL == (space = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid dataspace")