From d017358721c2a12e6b5f43a0517ef57a8a895f8d Mon Sep 17 00:00:00 2001 From: Jerome Soumagne Date: Thu, 24 Sep 2015 18:18:29 -0500 Subject: Prepare H5Rcreate and H5R_create for full var args --- src/H5R.c | 171 ++++++++++++++++++++++++++++++++++++++----------------- src/H5Rprivate.h | 3 +- src/H5Rpublic.h | 2 +- test/dsets.c | 2 +- test/getname.c | 20 +++---- test/links.c | 2 +- test/ntypes.c | 4 +- test/objcopy.c | 20 +++---- test/trefer.c | 56 +++++++++--------- test/tunicode.c | 2 +- 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(®_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(®_buf[0], H5R_DATASET_REGION, did1, ".", sid) < 0) TEST_ERROR - if(H5Rcreate(®_buf[1], did2, ".", H5R_DATASET_REGION, sid) < 0) + if(H5Rcreate(®_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); -- cgit v0.12