summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJerome Soumagne <jsoumagne@hdfgroup.org>2015-09-24 23:18:29 (GMT)
committerJerome Soumagne <jsoumagne@hdfgroup.org>2016-11-29 23:42:30 (GMT)
commitd017358721c2a12e6b5f43a0517ef57a8a895f8d (patch)
tree9b9cd4ef3af7ada1c30906405f21740924fb0e41
parent32a673e4c29a006535815ada5257aca26ffe8b68 (diff)
downloadhdf5-d017358721c2a12e6b5f43a0517ef57a8a895f8d.zip
hdf5-d017358721c2a12e6b5f43a0517ef57a8a895f8d.tar.gz
hdf5-d017358721c2a12e6b5f43a0517ef57a8a895f8d.tar.bz2
Prepare H5Rcreate and H5R_create for full var args
-rw-r--r--src/H5R.c171
-rw-r--r--src/H5Rprivate.h3
-rw-r--r--src/H5Rpublic.h2
-rw-r--r--test/dsets.c2
-rw-r--r--test/getname.c20
-rw-r--r--test/links.c2
-rw-r--r--test/ntypes.c4
-rw-r--r--test/objcopy.c20
-rw-r--r--test/trefer.c56
-rw-r--r--test/tunicode.c2
10 files changed, 174 insertions, 108 deletions
diff --git a/src/H5R.c b/src/H5R.c
index 51aff82..b8339a4 100644
--- a/src/H5R.c
+++ b/src/H5R.c
@@ -207,15 +207,13 @@ H5R_term_package(void)
PURPOSE
Creates a particular kind of reference for the user
USAGE
- herr_t H5R_create(ref, loc, name, ref_type, space)
- void *ref; OUT: Reference created
- H5G_loc_t *loc; IN: File location used to locate object pointed to
- const char *name; IN: Name of object at location LOC_ID of object
- pointed to
- const char *attr_name; IN: Name of attribute at location LOC_ID
- pointed to
+ herr_t H5R_create(ref, ref_type, ...)
+ void *ref; OUT: Reference created
H5R_type_t ref_type; IN: Type of reference to create
Additional arguments:
+ H5G_loc_t *loc; IN: File location used to locate object pointed to
+ const char *name; IN: Name of object at location of object pointed to
+ hid_t dxpl_id; IN: Property list ID
H5S_t *space; IN: Dataspace with selection, used for Dataset
Region references.
const char *attr_name; IN: Name of attribute pointed to, used for
@@ -235,22 +233,18 @@ H5R_term_package(void)
REVISION LOG
--------------------------------------------------------------------------*/
herr_t
-H5R_create(void *_ref, H5G_loc_t *loc, const char *name, hid_t dxpl_id,
- H5R_type_t ref_type, ...)
+H5R_create(void *_ref, H5R_type_t ref_type, ...)
{
- H5G_loc_t obj_loc; /* Group hier. location of object */
- H5G_name_t path; /* Object group hier. path */
- H5O_loc_t oloc; /* Object object location */
- uint8_t *buf = NULL; /* Buffer to store serialized selection in */
- hbool_t obj_found = FALSE; /* Object location found */
- va_list ap;
- herr_t ret_value = SUCCEED; /* Return value */
+ H5G_loc_t obj_loc; /* Group hier. location of object */
+ H5G_name_t path; /* Object group hier. path */
+ H5O_loc_t oloc; /* Object object location */
+ uint8_t *buf = NULL; /* Buffer to store serialized selection in */
+ hbool_t obj_found = FALSE; /* Object location found */
+ va_list ap;
+ herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_NOAPI_NOINIT
- HDassert(_ref);
- HDassert(loc);
- HDassert(name);
HDassert(ref_type > H5R_BADTYPE && ref_type < H5R_MAXTYPE);
va_start(ap, ref_type);
@@ -260,32 +254,61 @@ H5R_create(void *_ref, H5G_loc_t *loc, const char *name, hid_t dxpl_id,
obj_loc.path = &path;
H5G_loc_reset(&obj_loc);
- /* Find the object */
- if(H5G_loc_find(loc, name, &obj_loc, H5P_DEFAULT, dxpl_id) < 0)
- HGOTO_ERROR(H5E_REFERENCE, H5E_NOTFOUND, FAIL, "object not found")
- obj_found = TRUE;
-
switch(ref_type) {
case H5R_OBJECT:
{
+ H5G_loc_t *loc;
+ const char *name;
+ hid_t dxpl_id;
hobj_ref_t *ref = (hobj_ref_t *)_ref; /* Get pointer to correct type of reference struct */
+ /* Get arguments */
+ loc = va_arg(ap, H5G_loc_t *);
+ name = va_arg(ap, const char *);
+ dxpl_id = va_arg(ap, hid_t);
+
+ HDassert(ref);
+ HDassert(loc);
+ HDassert(name);
+
+ /* Find the object */
+ if(H5G_loc_find(loc, name, &obj_loc, H5P_DEFAULT, dxpl_id) < 0)
+ HGOTO_ERROR(H5E_REFERENCE, H5E_NOTFOUND, FAIL, "object not found")
+ obj_found = TRUE;
+
*ref = obj_loc.oloc->addr;
break;
}
case H5R_DATASET_REGION:
{
+ H5G_loc_t *loc;
+ const char *name;
+ hid_t dxpl_id;
H5HG_t hobjid; /* Heap object ID */
hdset_reg_ref_t *ref = (hdset_reg_ref_t *)_ref; /* Get pointer to correct type of reference struct */
hssize_t buf_size; /* Size of buffer needed to serialize selection */
uint8_t *p; /* Pointer to OID to store */
hbool_t heapid_found; /* Flag for non-zero heap ID found */
unsigned u; /* local index */
- H5S_t *space = va_arg(ap, H5S_t *);
+ H5S_t *space;
+ /* Get arguments */
+ loc = va_arg(ap, H5G_loc_t *);
+ name = va_arg(ap, const char *);
+ dxpl_id = va_arg(ap, hid_t);
+ space = va_arg(ap, H5S_t *);
+
+ HDassert(ref);
+ HDassert(loc);
+ HDassert(name);
HDassert(space);
+ /* Find the object */
+ if(H5G_loc_find(loc, name, &obj_loc, H5P_DEFAULT, dxpl_id) < 0)
+ HGOTO_ERROR(H5E_REFERENCE, H5E_NOTFOUND, FAIL, "object not found")
+ obj_found = TRUE;
+
/* Set up information for dataset region */
/* Return any previous heap block to the free list if we are garbage collecting */
@@ -326,7 +349,6 @@ H5R_create(void *_ref, H5G_loc_t *loc, const char *name, hid_t dxpl_id,
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTCOPY, FAIL, "Unable to serialize selection")
/* Save the serialized buffer for later */
- H5_CHECK_OVERFLOW(buf_size, hssize_t, size_t);
if(H5HG_insert(loc->oloc->file, dxpl_id, (size_t)buf_size, buf, &hobjid) < 0)
HGOTO_ERROR(H5E_REFERENCE, H5E_WRITEERROR, FAIL, "Unable to serialize selection")
@@ -340,6 +362,9 @@ H5R_create(void *_ref, H5G_loc_t *loc, const char *name, hid_t dxpl_id,
case H5R_ATTR:
{
+ H5G_loc_t *loc;
+ const char *name;
+ hid_t dxpl_id;
H5HG_t hobjid; /* Heap object ID */
hattr_ref_t *ref = (hattr_ref_t *)_ref; /* Get pointer to correct type of reference struct */
size_t buf_size; /* Size of buffer needed to serialize selection */
@@ -347,10 +372,24 @@ H5R_create(void *_ref, H5G_loc_t *loc, const char *name, hid_t dxpl_id,
uint8_t *p; /* Pointer to OID to store */
hbool_t heapid_found; /* Flag for non-zero heap ID found */
unsigned u; /* local index */
- const char *attr_name = va_arg(ap, const char *);
+ const char *attr_name;
+
+ /* Get arguments */
+ loc = va_arg(ap, H5G_loc_t *);
+ name = va_arg(ap, const char *);
+ dxpl_id = va_arg(ap, hid_t);
+ attr_name = va_arg(ap, const char *);
+ HDassert(ref);
+ HDassert(loc);
+ HDassert(name);
HDassert(attr_name);
+ /* Find the object */
+ if(H5G_loc_find(loc, name, &obj_loc, H5P_DEFAULT, dxpl_id) < 0)
+ HGOTO_ERROR(H5E_REFERENCE, H5E_NOTFOUND, FAIL, "object not found")
+ obj_found = TRUE;
+
/* Set up information for attribute */
/* Return any previous heap block to the free list if we are garbage collecting */
@@ -414,13 +453,13 @@ H5R_create(void *_ref, H5G_loc_t *loc, const char *name, hid_t dxpl_id,
HGOTO_ERROR(H5E_REFERENCE, H5E_UNSUPPORTED, FAIL, "internal error (unknown reference type)")
} /* end switch */
- va_end(ap);
-
done:
if(obj_found)
H5G_loc_free(&obj_loc);
- if(buf)
- H5MM_xfree(buf);
+
+ H5MM_free(buf);
+
+ va_end(ap);
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5R_create() */
@@ -432,13 +471,13 @@ done:
PURPOSE
Creates a particular kind of reference for the user
USAGE
- herr_t H5Rcreate(ref, loc_id, name, ref_type, space_id)
+ herr_t H5Rcreate(ref, ref_type, ...)
void *ref; OUT: Reference created
- hid_t loc_id; IN: Location ID used to locate object pointed to
- const char *name; IN: Name of object at location LOC_ID of object
- pointed to
H5R_type_t ref_type; IN: Type of reference to create
Additional arguments:
+ hid_t loc_id; IN: Location ID used to locate object pointed to
+ const char *name; IN: Name of object at location LOC_ID of object
+ pointed to
hid_t space_id; IN: Dataspace ID with selection, used for Dataset
Region references.
const char *attr_name; IN: Name of attribute pointed to, used for
@@ -457,56 +496,84 @@ done:
REVISION LOG
--------------------------------------------------------------------------*/
herr_t
-H5Rcreate(void *ref, hid_t loc_id, const char *name, H5R_type_t ref_type, ...)
+H5Rcreate(void *ref, H5R_type_t ref_type, ...)
{
- H5G_loc_t loc; /* File location */
H5S_t *space = NULL; /* Pointer to dataspace containing region */
va_list ap;
- herr_t ret_value; /* Return value */
+ herr_t ret_value = FAIL; /* Return value */
FUNC_ENTER_API(FAIL)
- H5TRACE4("e", "*xi*sRt", ref, loc_id, name, ref_type);
+ H5TRACE2("e", "*xRt", ref, ref_type);
va_start(ap, ref_type);
/* Check args */
if(ref == NULL)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid reference pointer")
- if(H5G_loc(loc_id, &loc) < 0)
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
- if(!name || !*name)
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name given")
switch (ref_type) {
case H5R_OBJECT:
- if((ret_value = H5R_create(ref, &loc, name, H5AC_dxpl_id, ref_type)) < 0)
+ {
+ hid_t loc_id;
+ H5G_loc_t loc; /* File location */
+ const char *name;
+
+ /* Get arguments */
+ loc_id = va_arg(ap, hid_t);
+ name = va_arg(ap, const char *);
+
+ if(H5G_loc(loc_id, &loc) < 0)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+ if(!name || !*name)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name given")
+
+ if((ret_value = H5R_create(ref, ref_type, &loc, name, H5AC_dxpl_id)) < 0)
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to create reference")
+ }
break;
case H5R_DATASET_REGION:
{
+ hid_t loc_id;
+ H5G_loc_t loc; /* File location */
+ const char *name;
hid_t space_id;
/* Get arguments */
+ loc_id = va_arg(ap, hid_t);
+ name = va_arg(ap, const char *);
space_id = va_arg(ap, hid_t);
+ if(H5G_loc(loc_id, &loc) < 0)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+ if(!name || !*name)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name given")
if(space_id == H5I_BADID)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "reference region dataspace id must be valid")
if(space_id != H5I_BADID && (NULL == (space = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE))))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataspace")
- if((ret_value = H5R_create(ref, &loc, name, H5AC_dxpl_id, ref_type, space)) < 0)
+ if((ret_value = H5R_create(ref, ref_type, &loc, name, H5AC_dxpl_id, space)) < 0)
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to create reference")
}
break;
case H5R_ATTR:
{
+ hid_t loc_id;
+ H5G_loc_t loc; /* File location */
+ const char *name;
const char *attr_name;
/* Get arguments */
+ loc_id = va_arg(ap, hid_t);
+ name = va_arg(ap, const char *);
attr_name = va_arg(ap, const char *);
+ if(H5G_loc(loc_id, &loc) < 0)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+ if(!name || !*name)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name given")
if(!attr_name || !*attr_name)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no attribute name given")
- if((ret_value = H5R_create(ref, &loc, name, H5AC_dxpl_id, ref_type, attr_name)) < 0)
+ if((ret_value = H5R_create(ref, ref_type, &loc, name, H5AC_dxpl_id, attr_name)) < 0)
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to create reference")
}
break;
@@ -516,9 +583,9 @@ H5Rcreate(void *ref, hid_t loc_id, const char *name, H5R_type_t ref_type, ...)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid reference type")
}
+done:
va_end(ap);
-done:
FUNC_LEAVE_API(ret_value)
} /* end H5Rcreate() */
@@ -814,9 +881,10 @@ done:
PURPOSE
Retrieves a dataspace with the region pointed to selected.
USAGE
- H5S_t *H5R_get_region(file, ref_type, ref)
- H5F_t *file; IN: File the object being dereferenced is within
- void *ref; IN: Reference to open.
+ H5S_t *H5R_get_region(file, dxpl_id, ref)
+ H5F_t *file; IN: File the object being dereferenced is within
+ hid_t dxpl_id; IN: Property list ID
+ void *ref; IN: Reference to open.
RETURNS
Pointer to the dataspace on success, NULL on failure
@@ -870,8 +938,7 @@ H5R_get_region(H5F_t *file, hid_t dxpl_id, const void *_ref)
done:
/* Free the buffer allocated in H5HG_read() */
- if(buf)
- H5MM_xfree(buf);
+ H5MM_free(buf);
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5R_get_region() */
diff --git a/src/H5Rprivate.h b/src/H5Rprivate.h
index eed616c..ba19c8b 100644
--- a/src/H5Rprivate.h
+++ b/src/H5Rprivate.h
@@ -28,8 +28,7 @@
/* Internal data structures */
/* Private functions */
-H5_DLL herr_t H5R_create(void *ref, H5G_loc_t *loc, const char *name,
- hid_t dxpl_id, H5R_type_t ref_type, ...);
+H5_DLL herr_t H5R_create(void *ref, H5R_type_t ref_type, ...);
#endif /* _H5Rprivate_H */
diff --git a/src/H5Rpublic.h b/src/H5Rpublic.h
index bea1e3c..303059e 100644
--- a/src/H5Rpublic.h
+++ b/src/H5Rpublic.h
@@ -64,7 +64,7 @@ extern "C" {
#endif
/* Functions in H5R.c */
-H5_DLL herr_t H5Rcreate(void *ref, hid_t loc_id, const char *name, H5R_type_t ref_type, ...);
+H5_DLL herr_t H5Rcreate(void *ref, H5R_type_t ref_type, ...);
H5_DLL hid_t H5Rdereference2(hid_t obj_id, hid_t oapl_id, H5R_type_t ref_type, const void *ref);
H5_DLL hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, const void *ref);
H5_DLL herr_t H5Rget_obj_type2(hid_t id, H5R_type_t ref_type, const void *_ref,
diff --git a/test/dsets.c b/test/dsets.c
index c0e8702..967bc6b 100644
--- a/test/dsets.c
+++ b/test/dsets.c
@@ -3749,7 +3749,7 @@ test_nbit_compound_3(hid_t file)
for(k = 0; k < (i+1); k++) ((unsigned int *)orig_data[i].v.p)[k] = (unsigned int)(i*100 + k);
/* Create reference to the dataset "nbit_obj_ref" */
- if(H5Rcreate(&orig_data[i].r, file, "nbit_obj_ref", H5R_OBJECT, (hid_t)-1) < 0) goto error;
+ if(H5Rcreate(&orig_data[i].r, H5R_OBJECT, file, "nbit_obj_ref") < 0) goto error;
for(j = 0; j < 5; j++) orig_data[i].o[j] = (unsigned char)(i + j);
}
diff --git a/test/getname.c b/test/getname.c
index 2700b49..9f5b36a 100644
--- a/test/getname.c
+++ b/test/getname.c
@@ -2542,30 +2542,30 @@ test_obj_ref(hid_t fapl)
FAIL_STACK_ERROR
/* Create reference to dataset */
- if(H5Rcreate(&wbuf[0], fid1, "/Dataset3", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(&wbuf[0], H5R_OBJECT, fid1, "/Dataset3") < 0)
FAIL_STACK_ERROR
/* Create reference to dataset */
- if(H5Rcreate(&wbuf[1], fid1, "/Group1/Dataset2", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(&wbuf[1], H5R_OBJECT, fid1, "/Group1/Dataset2") < 0)
FAIL_STACK_ERROR
/* Create reference to group */
- if(H5Rcreate(&wbuf[2], fid1, "/Group1", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(&wbuf[2], H5R_OBJECT, fid1, "/Group1") < 0)
FAIL_STACK_ERROR
/* Create reference to named datatype */
- if(H5Rcreate(&wbuf[3], fid1, "/Group1/Datatype1", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(&wbuf[3], H5R_OBJECT, fid1, "/Group1/Datatype1") < 0)
FAIL_STACK_ERROR
- if(H5Rcreate(&wbuf[4], fid1, "/Group1/Group2/Dataset4", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(&wbuf[4], H5R_OBJECT, fid1, "/Group1/Group2/Dataset4") < 0)
FAIL_STACK_ERROR
- if(H5Rcreate(&wbuf[5], fid1, "/Group1/Group2", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(&wbuf[5], H5R_OBJECT, fid1, "/Group1/Group2") < 0)
FAIL_STACK_ERROR
- if(H5Rcreate(&wbuf[6], fid1, "/Group1/Group2/Link/Dataset5", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(&wbuf[6], H5R_OBJECT, fid1, "/Group1/Group2/Link/Dataset5") < 0)
FAIL_STACK_ERROR
/* Create reference to root group */
- if(H5Rcreate(&wbuf[7], fid1, "/", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(&wbuf[7], H5R_OBJECT, fid1, "/") < 0)
FAIL_STACK_ERROR
/* Write selection to disk */
@@ -2784,7 +2784,7 @@ test_reg_ref(hid_t fapl)
count[1] = 3;
if(H5Sselect_hyperslab(space_id, H5S_SELECT_SET, start, NULL, count, NULL) < 0)
TEST_ERROR
- if(H5Rcreate(&ref[0], file_id, REFREG_DSETNAMEV, H5R_DATASET_REGION, space_id) < 0)
+ if(H5Rcreate(&ref[0], H5R_DATASET_REGION, file_id, REFREG_DSETNAMEV, space_id) < 0)
TEST_ERROR
/* Create a reference to elements selection */
@@ -2792,7 +2792,7 @@ test_reg_ref(hid_t fapl)
TEST_ERROR
if(H5Sselect_elements(space_id, H5S_SELECT_SET, num_points, (const hsize_t *)coord) < 0)
TEST_ERROR
- if(H5Rcreate(&ref[1], file_id, REFREG_DSETNAMEV, H5R_DATASET_REGION, space_id) < 0)
+ if(H5Rcreate(&ref[1], H5R_DATASET_REGION, file_id, REFREG_DSETNAMEV, space_id) < 0)
TEST_ERROR
/* Write dataset with the references */
diff --git a/test/links.c b/test/links.c
index db5922b..4e192a7 100644
--- a/test/links.c
+++ b/test/links.c
@@ -6053,7 +6053,7 @@ external_link_closing(hid_t fapl, hbool_t new_format)
} H5E_END_TRY
/* Test H5Rcreate */
- if(H5Rcreate(&obj_ref, fid1, "elink/elink/elink/type1_moved", H5R_OBJECT, (hid_t)(-1)) < 0) TEST_ERROR
+ if(H5Rcreate(&obj_ref, H5R_OBJECT, fid1, "elink/elink/elink/type1_moved") < 0) TEST_ERROR
/* Test unlink */
if(H5Ldelete(fid1, "elink/elink/elink/group1_moved", H5P_DEFAULT) < 0) TEST_ERROR
diff --git a/test/ntypes.c b/test/ntypes.c
index bb6c973..2d6f788 100644
--- a/test/ntypes.c
+++ b/test/ntypes.c
@@ -2148,7 +2148,7 @@ test_refer_dtype(hid_t file)
TEST_ERROR;
/* Create reference to named datatype */
- if(H5Rcreate(wbuf, file, "/Group1/Datatype1", H5R_OBJECT, (hid_t)-1) < 0)
+ if(H5Rcreate(wbuf, H5R_OBJECT, file, "/Group1/Datatype1") < 0)
TEST_ERROR;
if(H5Rget_obj_type2(dataset, H5R_OBJECT, wbuf, &obj_type) < 0)
TEST_ERROR;
@@ -2329,7 +2329,7 @@ test_refer_dtype2(hid_t file)
TEST_ERROR;
/* Store first dataset region */
- if(H5Rcreate(&wbuf, file, "/Dataset2", H5R_DATASET_REGION, sid2) < 0)
+ if(H5Rcreate(&wbuf, H5R_DATASET_REGION, file, "/Dataset2", sid2) < 0)
TEST_ERROR;
if(H5Rget_obj_type2(dset1, H5R_DATASET_REGION, &wbuf, &obj_type) < 0)
TEST_ERROR;
diff --git a/test/objcopy.c b/test/objcopy.c
index 82be446..6271639 100644
--- a/test/objcopy.c
+++ b/test/objcopy.c
@@ -269,8 +269,8 @@ attach_ref_attr(hid_t file_id, hid_t loc_id)
if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL , H5S_ALL, H5P_DEFAULT,data2) < 0) TEST_ERROR
/* create an attribute with two object references */
- if(H5Rcreate(&ref[0], file_id, dsetname1, H5R_OBJECT, (hid_t)-1) < 0) TEST_ERROR
- if(H5Rcreate(&ref[1], file_id, dsetname2, H5R_OBJECT, (hid_t)-1) < 0) TEST_ERROR
+ if(H5Rcreate(&ref[0], H5R_OBJECT, file_id, dsetname1) < 0) TEST_ERROR
+ if(H5Rcreate(&ref[1], H5R_OBJECT, file_id, dsetname2) < 0) TEST_ERROR
if((aid = H5Acreate2(loc_id, "obj_ref_attr", H5T_STD_REF_OBJ, sid_ref, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
if(H5Awrite(aid, H5T_STD_REF_OBJ, ref) < 0) TEST_ERROR
@@ -336,12 +336,12 @@ attach_reg_ref_attr(hid_t file_id, hid_t loc_id)
/* create reg_ref of block selection */
if(H5Sselect_hyperslab(space_id,H5S_SELECT_SET,start,NULL,count,NULL) < 0) TEST_ERROR
- if(H5Rcreate(&ref[0], file_id, dsetnamev, H5R_DATASET_REGION, space_id) < 0) TEST_ERROR
+ if(H5Rcreate(&ref[0], H5R_DATASET_REGION, file_id, dsetnamev, space_id) < 0) TEST_ERROR
/* create reg_ref of point selection */
if(H5Sselect_none(space_id) < 0) TEST_ERROR
if(H5Sselect_elements(space_id, H5S_SELECT_SET, num_points, (const hsize_t *)coord) < 0) TEST_ERROR
- if(H5Rcreate(&ref[1], file_id, dsetnamev, H5R_DATASET_REGION, space_id) < 0) TEST_ERROR
+ if(H5Rcreate(&ref[1], H5R_DATASET_REGION, file_id, dsetnamev, space_id) < 0) TEST_ERROR
/* create reg_ref attribute */
if((aid = H5Acreate2(loc_id, "reg_ref_attr", H5T_STD_REF_DSETREG, spacer_id, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
@@ -421,10 +421,10 @@ create_reg_ref_dataset(hid_t file_id, hid_t loc_id)
count[0] = 2;
count[1] = 3;
if(H5Sselect_hyperslab(space_id,H5S_SELECT_SET,start,NULL,count,NULL) < 0) TEST_ERROR
- if(H5Rcreate(&ref[0], file_id, dsetnamev, H5R_DATASET_REGION, space_id) < 0) TEST_ERROR
+ if(H5Rcreate(&ref[0], H5R_DATASET_REGION, file_id, dsetnamev, space_id) < 0) TEST_ERROR
if(H5Sselect_none(space_id) < 0) TEST_ERROR
if(H5Sselect_elements(space_id, H5S_SELECT_SET, num_points, (const hsize_t *)coord) < 0) TEST_ERROR
- if(H5Rcreate(&ref[1], file_id, dsetnamev, H5R_DATASET_REGION, space_id) < 0) TEST_ERROR
+ if(H5Rcreate(&ref[1], H5R_DATASET_REGION, file_id, dsetnamev, space_id) < 0) TEST_ERROR
if(H5Dwrite(dsetr_id, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT,ref) < 0) TEST_ERROR
if(H5Dclose(dsetr_id) < 0) TEST_ERROR
@@ -8041,11 +8041,11 @@ test_copy_null_ref(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl, hid_t dst_fap
sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
/* Create references */
- if(H5Rcreate(&obj_buf[0], did1, ".", H5R_OBJECT, (hid_t)-1) < 0) TEST_ERROR
- if(H5Rcreate(&obj_buf[1], did2, ".", H5R_OBJECT, (hid_t)-1) < 0) TEST_ERROR
- if(H5Rcreate(&reg_buf[0], did1, ".", H5R_DATASET_REGION, sid) < 0)
+ if(H5Rcreate(&obj_buf[0], H5R_OBJECT, did1, ".") < 0) TEST_ERROR
+ if(H5Rcreate(&obj_buf[1], H5R_OBJECT, did2, ".") < 0) TEST_ERROR
+ if(H5Rcreate(&reg_buf[0], H5R_DATASET_REGION, did1, ".", sid) < 0)
TEST_ERROR
- if(H5Rcreate(&reg_buf[1], did2, ".", H5R_DATASET_REGION, sid) < 0)
+ if(H5Rcreate(&reg_buf[1], H5R_DATASET_REGION, did2, ".", sid) < 0)
TEST_ERROR
/* Write data into file */
diff --git a/test/trefer.c b/test/trefer.c
index 7a63538..be96354 100644
--- a/test/trefer.c
+++ b/test/trefer.c
@@ -169,19 +169,19 @@ test_reference_params(void)
CHECK(ret, FAIL, "H5Dcreate2");
/* Test parameters to H5Rcreate */
- ret = H5Rcreate(NULL, fid1, "/Group1/Dataset1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(NULL, H5R_OBJECT, fid1, "/Group1/Dataset1");
VERIFY(ret, FAIL, "H5Rcreate ref");
- ret = H5Rcreate(&wbuf[0], (hid_t)-1, "/Group1/Dataset1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[0], H5R_OBJECT, (hid_t)-1, "/Group1/Dataset1");
VERIFY(ret, FAIL, "H5Rcreate loc_id");
- ret = H5Rcreate(&wbuf[0], fid1, NULL, H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[0], H5R_OBJECT, fid1, NULL);
VERIFY(ret, FAIL, "H5Rcreate name");
- ret = H5Rcreate(&wbuf[0], fid1, "", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[0], H5R_OBJECT, fid1, "");
VERIFY(ret, FAIL, "H5Rcreate null name");
- ret = H5Rcreate(&wbuf[0], fid1, "/Group1/Dataset1", H5R_MAXTYPE, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[0], H5R_MAXTYPE);
VERIFY(ret, FAIL, "H5Rcreate type");
- ret = H5Rcreate(&wbuf[0], fid1, "/Group1/Dataset1", H5R_DATASET_REGION, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[0], H5R_DATASET_REGION, fid1, "/Group1/Dataset1", (hid_t)-1);
VERIFY(ret, FAIL, "H5Rcreate region space");
- ret = H5Rcreate(&wbuf[0], fid1, "/Group1/Dataset1", H5R_MAXTYPE, (hid_t)0);
+ ret = H5Rcreate(&wbuf[0], H5R_MAXTYPE);
VERIFY(ret, FAIL, "H5Rcreate space");
/* Test parameters to H5Rdereference */
@@ -350,28 +350,28 @@ test_reference_obj(void)
CHECK(ret, FAIL, "H5Dcreate2");
/* Create reference to dataset */
- ret = H5Rcreate(&wbuf[0], fid1, "/Group1/Dataset1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[0], H5R_OBJECT, fid1, "/Group1/Dataset1");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_OBJECT, &wbuf[0], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
VERIFY(obj_type, H5O_TYPE_DATASET, "H5Rget_obj_type2");
/* Create reference to dataset */
- ret = H5Rcreate(&wbuf[1], fid1, "/Group1/Dataset2", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[1], H5R_OBJECT, fid1, "/Group1/Dataset2");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_OBJECT, &wbuf[1], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
VERIFY(obj_type, H5O_TYPE_DATASET, "H5Rget_obj_type2");
/* Create reference to group */
- ret = H5Rcreate(&wbuf[2], fid1, "/Group1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[2], H5R_OBJECT, fid1, "/Group1");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_OBJECT, &wbuf[2], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
VERIFY(obj_type, H5O_TYPE_GROUP, "H5Rget_obj_type2");
/* Create reference to named datatype */
- ret = H5Rcreate(&wbuf[3], fid1, "/Group1/Datatype1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf[3], H5R_OBJECT, fid1, "/Group1/Datatype1");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_OBJECT, &wbuf[3], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
@@ -589,7 +589,7 @@ test_reference_region(void)
VERIFY(ret, 36, "H5Sget_select_npoints");
/* Store first dataset region */
- ret = H5Rcreate(&wbuf[0], fid1, "/Dataset2", H5R_DATASET_REGION, sid2);
+ ret = H5Rcreate(&wbuf[0], H5R_DATASET_REGION, fid1, "/Dataset2", sid2);
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dset1, H5R_DATASET_REGION, &wbuf[0], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
@@ -613,7 +613,7 @@ test_reference_region(void)
VERIFY(ret, 10, "H5Sget_select_npoints");
/* Store second dataset region */
- ret = H5Rcreate(&wbuf[1], fid1, "/Dataset2", H5R_DATASET_REGION, sid2);
+ ret = H5Rcreate(&wbuf[1], H5R_DATASET_REGION, fid1, "/Dataset2", sid2);
CHECK(ret, FAIL, "H5Rcreate");
/* Select unlimited hyperslab for third reference */
@@ -645,7 +645,7 @@ test_reference_region(void)
/* Create reference to an element in dset1 */
ret = H5Sselect_elements(sid2, H5S_SELECT_SET, (size_t)1, (const hsize_t *)coord1);
CHECK(ret, FAIL, "H5Sselect_elements");
- ret = H5Rcreate(&wdata_NA[0], fid1, "/Dataset1", H5R_DATASET_REGION, sid2);
+ ret = H5Rcreate(&wdata_NA[0], H5R_DATASET_REGION, fid1, "/Dataset1", sid2);
CHECK(ret, FAIL, "H5Rcreate");
/* Create the dataspace of the region references */
@@ -977,7 +977,7 @@ test_reference_region_1D(void)
VERIFY(ret, 30, "H5Sget_select_npoints");
/* Store first dataset region */
- ret = H5Rcreate(&wbuf[0], fid1, "/Dataset2", H5R_DATASET_REGION, sid3);
+ ret = H5Rcreate(&wbuf[0], H5R_DATASET_REGION, fid1, "/Dataset2", sid3);
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dset1, H5R_DATASET_REGION, &wbuf[0], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
@@ -1001,7 +1001,7 @@ test_reference_region_1D(void)
VERIFY(ret, 10, "H5Sget_select_npoints");
/* Store second dataset region */
- ret = H5Rcreate(&wbuf[1], fid1, "/Dataset2", H5R_DATASET_REGION, sid3);
+ ret = H5Rcreate(&wbuf[1], H5R_DATASET_REGION, fid1, "/Dataset2", sid3);
CHECK(ret, FAIL, "H5Rcreate");
/* Write selection to disk */
@@ -1209,7 +1209,7 @@ test_reference_obj_deleted(void)
CHECK(dataset, FAIL, "H5Dcreate2");
/* Create reference to dataset */
- ret = H5Rcreate(&oref, fid1, "/Dataset1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&oref, H5R_OBJECT, fid1, "/Dataset1");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_OBJECT, &oref, &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
@@ -1368,7 +1368,7 @@ test_reference_group(void)
CHECK(did, FAIL, "H5Dcreate2");
/* Create reference to group */
- ret = H5Rcreate(&wref, fid, GROUPNAME, H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wref, H5R_OBJECT, fid, GROUPNAME);
CHECK(ret, FAIL, "H5Rcreate");
/* Write reference to disk */
@@ -1537,19 +1537,19 @@ test_reference_compat(void)
CHECK(ret, FAIL, "H5Dcreate2");
/* Create reference to dataset */
- ret = H5Rcreate(&wbuf_obj[0], fid1, "/Group1/Dataset1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf_obj[0], H5R_OBJECT, fid1, "/Group1/Dataset1");
CHECK(ret, FAIL, "H5Rcreate");
/* Create reference to dataset */
- ret = H5Rcreate(&wbuf_obj[1], fid1, "/Group1/Dataset2", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf_obj[1], H5R_OBJECT, fid1, "/Group1/Dataset2");
CHECK(ret, FAIL, "H5Rcreate");
/* Create reference to group */
- ret = H5Rcreate(&wbuf_obj[2], fid1, "/Group1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf_obj[2], H5R_OBJECT, fid1, "/Group1");
CHECK(ret, FAIL, "H5Rcreate");
/* Create reference to named datatype */
- ret = H5Rcreate(&wbuf_obj[3], fid1, "/Group1/Datatype1", H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&wbuf_obj[3], H5R_OBJECT, fid1, "/Group1/Datatype1");
CHECK(ret, FAIL, "H5Rcreate");
/* Write references to disk */
@@ -1574,7 +1574,7 @@ test_reference_compat(void)
CHECK(ret, FAIL, "H5Sselect_hyperslab");
/* Create first dataset region */
- ret = H5Rcreate(&wbuf_reg[0], fid1, "/Group1/Dataset1", H5R_DATASET_REGION, sid2);
+ ret = H5Rcreate(&wbuf_reg[0], H5R_DATASET_REGION, fid1, "/Group1/Dataset1", sid2);
CHECK(ret, FAIL, "H5Rcreate");
/* Select sequence of ten points for second reference */
@@ -1592,7 +1592,7 @@ test_reference_compat(void)
CHECK(ret, FAIL, "H5Sselect_elements");
/* Create second dataset region */
- ret = H5Rcreate(&wbuf_reg[1], fid1, "/Group1/Dataset2", H5R_DATASET_REGION, sid2);
+ ret = H5Rcreate(&wbuf_reg[1], H5R_DATASET_REGION, fid1, "/Group1/Dataset2", sid2);
CHECK(ret, FAIL, "H5Rcreate");
/* Write selection to disk */
@@ -1868,28 +1868,28 @@ test_reference_attr(void)
CHECK(ret, FAIL, "H5Dcreate2");
/* Create reference to attribute */
- ret = H5Rcreate(&wbuf[0], fid, "/Group1/Dataset1", H5R_ATTR, "Attr1");
+ ret = H5Rcreate(&wbuf[0], H5R_ATTR, fid, "/Group1/Dataset1", "Attr1");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_ATTR, &wbuf[0], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
VERIFY(obj_type, H5O_TYPE_DATASET, "H5Rget_obj_type2");
/* Create reference to dataset */
- ret = H5Rcreate(&wbuf[1], fid, "/Group1/Dataset2", H5R_ATTR, "Attr1");
+ ret = H5Rcreate(&wbuf[1], H5R_ATTR, fid, "/Group1/Dataset2", "Attr1");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_ATTR, &wbuf[1], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
VERIFY(obj_type, H5O_TYPE_DATASET, "H5Rget_obj_type2");
/* Create reference to group */
- ret = H5Rcreate(&wbuf[2], fid, "/Group1", H5R_ATTR, "Attr2");
+ ret = H5Rcreate(&wbuf[2], H5R_ATTR, fid, "/Group1", "Attr2");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_ATTR, &wbuf[2], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
VERIFY(obj_type, H5O_TYPE_GROUP, "H5Rget_obj_type2");
/* Create reference to named datatype */
- ret = H5Rcreate(&wbuf[3], fid, "/Group1/Datatype1", H5R_ATTR, "Attr3");
+ ret = H5Rcreate(&wbuf[3], H5R_ATTR, fid, "/Group1/Datatype1", "Attr3");
CHECK(ret, FAIL, "H5Rcreate");
ret = H5Rget_obj_type2(dataset, H5R_ATTR, &wbuf[3], &obj_type);
CHECK(ret, FAIL, "H5Rget_obj_type2");
diff --git a/test/tunicode.c b/test/tunicode.c
index 93c00c5..6e572c0 100644
--- a/test/tunicode.c
+++ b/test/tunicode.c
@@ -454,7 +454,7 @@ void test_objnames(hid_t fid, const char* string)
CHECK(ret, FAIL, "H5Dcreate2");
/* Create reference to named datatype */
- ret = H5Rcreate(&obj_ref, grp2_id, string, H5R_OBJECT, (hid_t)-1);
+ ret = H5Rcreate(&obj_ref, H5R_OBJECT, grp2_id, string);
CHECK(ret, FAIL, "H5Rcreate");
/* Write selection and read it back*/
ret = H5Dwrite(dset_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, &obj_ref);