summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJerome Soumagne <jsoumagne@hdfgroup.org>2016-03-08 07:39:56 (GMT)
committerJerome Soumagne <jsoumagne@hdfgroup.org>2016-11-29 23:42:32 (GMT)
commitf534dde4dc8a9fb76a5cb1ef9eddc297c084da52 (patch)
tree8aaf603100ef2c236ac9f266f1486e6f2812cbcb
parent95de10ee2b35d99dcdcde49be4fe4bec6a3688dc (diff)
downloadhdf5-f534dde4dc8a9fb76a5cb1ef9eddc297c084da52.zip
hdf5-f534dde4dc8a9fb76a5cb1ef9eddc297c084da52.tar.gz
hdf5-f534dde4dc8a9fb76a5cb1ef9eddc297c084da52.tar.bz2
Update gentest tools after reference changes
-rw-r--r--tools/h5copy/h5copygentest.c32
-rw-r--r--tools/h5diff/h5diffgentest.c88
-rw-r--r--tools/h5dump/h5dumpgentest.c134
-rw-r--r--tools/misc/h5perf_gentest.c25
4 files changed, 174 insertions, 105 deletions
diff --git a/tools/h5copy/h5copygentest.c b/tools/h5copy/h5copygentest.c
index 49204f5..3c00e6d 100644
--- a/tools/h5copy/h5copygentest.c
+++ b/tools/h5copy/h5copygentest.c
@@ -420,7 +420,7 @@ static herr_t gen_obj_ref(hid_t loc_id)
/*---------------------
* create obj references to the previously created objects.
* Passing -1 as reference is an object.*/
- hobj_ref_t or_data[2]; /* write buffer */
+ href_t or_data[2] = {NULL, NULL}; /* write buffer */
herr_t ret = SUCCEED;
/*--------------
@@ -463,15 +463,15 @@ static herr_t gen_obj_ref(hid_t loc_id)
}
H5Gclose(oid);
- status = H5Rcreate (&or_data[0], loc_id, OBJ_REF_DS, H5R_OBJECT, (hid_t)-1);
- if (status < 0)
+ or_data[0] = H5Rcreate_object (loc_id, OBJ_REF_DS);
+ if (!or_data[0])
{
fprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__);
ret = FAIL;
goto out;
}
- status = H5Rcreate (&or_data[1], loc_id, OBJ_REF_GRP, H5R_OBJECT, (hid_t)-1);
- if (status < 0)
+ or_data[1] = H5Rcreate_object (loc_id, OBJ_REF_GRP);
+ if (!or_data[1])
{
fprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__);
ret = FAIL;
@@ -507,6 +507,10 @@ out:
H5Dclose(oid);
if(sid > 0)
H5Sclose(sid);
+ if (or_data[0])
+ H5Rdestroy(or_data[0]);
+ if (or_data[1])
+ H5Rdestroy(or_data[1]);
return ret;
}
@@ -527,7 +531,7 @@ static herr_t gen_region_ref(hid_t loc_id)
char data[3][16] = {"The quick brown", "fox jumps over ", "the 5 lazy dogs"};
hsize_t dims2[2] = {3,16};
hsize_t coords[4][2] = { {0,1}, {2,11}, {1,0}, {2,4} };
- hdset_reg_ref_t rr_data[2];
+ href_t rr_data[2] = {NULL, NULL};
hsize_t start[2] = {0,0};
hsize_t stride[2] = {2,11};
hsize_t count[2] = {2,2};
@@ -570,8 +574,8 @@ static herr_t gen_region_ref(hid_t loc_id)
}
/* create region reference from elements space */
- status = H5Rcreate (&rr_data[0], loc_id, REG_REF_DS2, H5R_DATASET_REGION, sid);
- if (status < 0)
+ rr_data[0] = H5Rcreate_region (loc_id, REG_REF_DS2, sid);
+ if (!rr_data[0])
{
fprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__);
ret = FAIL;
@@ -588,8 +592,8 @@ static herr_t gen_region_ref(hid_t loc_id)
}
/* create region reference from hyperslab space */
- status = H5Rcreate (&rr_data[1], loc_id, REG_REF_DS2, H5R_DATASET_REGION, sid);
- if (status < 0)
+ rr_data[1] = H5Rcreate_region (loc_id, REG_REF_DS2, sid);
+ if (!rr_data[1])
{
fprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__);
ret = FAIL;
@@ -608,7 +612,7 @@ static herr_t gen_region_ref(hid_t loc_id)
}
/* create region reference dataset */
- oid1 = H5Dcreate2 (loc_id, REG_REF_DS1, H5T_STD_REF_DSETREG, sid, H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT);
+ oid1 = H5Dcreate2 (loc_id, REG_REF_DS1, H5T_STD_REF_REG, sid, H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT);
if (oid1 < 0)
{
fprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__);
@@ -617,7 +621,7 @@ static herr_t gen_region_ref(hid_t loc_id)
}
/* write data as region references */
- status = H5Dwrite (oid1, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rr_data);
+ status = H5Dwrite (oid1, H5T_STD_REF_REG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rr_data);
if (status < 0)
{
fprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__);
@@ -632,6 +636,10 @@ out:
H5Dclose (oid2);
if (sid > 0)
H5Sclose (sid);
+ if (rr_data[0])
+ H5Rdestroy(rr_data[0]);
+ if (rr_data[1])
+ H5Rdestroy(rr_data[1]);
return ret;
}
diff --git a/tools/h5diff/h5diffgentest.c b/tools/h5diff/h5diffgentest.c
index 8f92660..e48389a 100644
--- a/tools/h5diff/h5diffgentest.c
+++ b/tools/h5diff/h5diffgentest.c
@@ -3631,13 +3631,13 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */
int int_data1;
- hobj_ref_t objref1; /* reference */
+ href_t objref1; /* reference */
char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */
- hobj_ref_t objref2; /* reference */
+ href_t objref2; /* reference */
char *str_vlen; /* vlen string */
int int_data2;
char *str_vlen_repeat; /* vlen string */
- hobj_ref_t objref3; /* reference */
+ href_t objref3; /* reference */
int int_data3;
} comp9_t;
@@ -4142,9 +4142,9 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
did_comp = H5Dcreate2(gid, "Compound_dset9", tid9_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
/* obj references */
- status=H5Rcreate(&(comp9_buf.objref1),gid,"Compound_dset2",H5R_OBJECT,(hid_t)-1);
- status=H5Rcreate(&(comp9_buf.objref2),gid,"Compound_dset3",H5R_OBJECT,(hid_t)-1);
- status=H5Rcreate(&(comp9_buf.objref3),gid,"Compound_dset4",H5R_OBJECT,(hid_t)-1);
+ comp9_buf.objref1 = H5Rcreate_object(gid, "Compound_dset2");
+ comp9_buf.objref2 = H5Rcreate_object(gid, "Compound_dset3");
+ comp9_buf.objref3 = H5Rcreate_object(gid, "Compound_dset4");
status = H5Dwrite(did_comp, tid9_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp9_buf);
if (status < 0)
@@ -4156,6 +4156,9 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
H5Dclose(did_comp);
+ H5Rdestroy(comp9_buf.objref1);
+ H5Rdestroy(comp9_buf.objref2);
+ H5Rdestroy(comp9_buf.objref3);
did_comp=0;
out:
@@ -5262,7 +5265,7 @@ void write_attr_in(hid_t loc_id,
char *buf1a[2]; /* VL string */
char buf2[2]= {1,2}; /* bitfield, opaque */
s_t buf3[2]= {{1,2.0F},{3,4.0F}}; /* compound */
- hobj_ref_t buf4[2]; /* reference */
+ href_t buf4[2]; /* reference */
e_t buf45[2]= {RED,RED}; /* enum */
hvl_t buf5[2]; /* vlen */
hsize_t dimarray[1]={3}; /* array dimension */
@@ -5276,7 +5279,7 @@ void write_attr_in(hid_t loc_id,
char *buf12a[3][2]; /* VL string */
char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */
s_t buf32[6]= {{1,2.0F},{3,4.0F},{5,6.0F},{7,8.0F},{9,10.0F},{11,12.0F}}; /* compound */
- hobj_ref_t buf42[3][2]; /* reference */
+ href_t buf42[3][2]; /* reference */
e_t buf452[3][2]; /* enum */
hvl_t buf52[3][2]; /* vlen */
int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */
@@ -5292,7 +5295,7 @@ void write_attr_in(hid_t loc_id,
char *buf13a[4][3][2]; /* VL string */
char buf23[4][3][2]; /* bitfield, opaque */
s_t buf33[4][3][2]; /* compound */
- hobj_ref_t buf43[4][3][2]; /* reference */
+ href_t buf43[4][3][2]; /* reference */
e_t buf453[4][3][2]; /* enum */
hvl_t buf53[4][3][2]; /* vlen */
int buf63[24][3]; /* array */
@@ -5431,9 +5434,11 @@ void write_attr_in(hid_t loc_id,
/* Create references to dataset */
if (dset_name)
{
- status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,(hid_t)-1);
- status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf4[0] = H5Rcreate_object(fid, dset_name);
+ buf4[1] = H5Rcreate_object(fid, dset_name);
write_attr(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
+ H5Rdestroy(buf4[0]);
+ H5Rdestroy(buf4[1]);
}
/*-------------------------------------------------------------------------
@@ -5713,10 +5718,15 @@ void write_attr_in(hid_t loc_id,
{
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
- status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf42[i][j] = H5Rcreate_object(fid, dset_name);
}
}
write_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
+ for (i = 0; i < 3; i++) {
+ for (j = 0; j < 2; j++) {
+ H5Rdestroy(buf42[i][j]);
+ }
+ }
}
/*-------------------------------------------------------------------------
@@ -6109,10 +6119,16 @@ void write_attr_in(hid_t loc_id,
for (i = 0; i < 4; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 2; k++)
- status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf43[i][j][k] = H5Rcreate_object(fid, dset_name);
}
}
write_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
+ for (i = 0; i < 4; i++) {
+ for (j = 0; j < 3; j++) {
+ for (k = 0; k < 2; k++)
+ H5Rdestroy(buf43[i][j][k]);
+ }
+ }
}
/*-------------------------------------------------------------------------
@@ -6319,7 +6335,7 @@ void write_dset_in(hid_t loc_id,
char *buf1a[2]; /* VL string */
char buf2[2]= {1,2}; /* bitfield, opaque */
s_t buf3[2]= {{1,2.0F},{3,4.0F}}; /* compound */
- hobj_ref_t buf4[2]; /* reference */
+ href_t buf4[2]; /* reference */
e_t buf45[2]= {RED,GREEN}; /* enum */
hvl_t buf5[2]; /* vlen */
hsize_t dimarray[1]={3}; /* array dimension */
@@ -6333,7 +6349,7 @@ void write_dset_in(hid_t loc_id,
char *buf12a[3][2]; /* VL string */
char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */
s_t buf32[6]= {{1,2.0F},{3,4.0F},{5,6.0F},{7,8.0F},{9,10.0F},{11,12.0F}}; /* compound */
- hobj_ref_t buf42[3][2]; /* reference */
+ href_t buf42[3][2]; /* reference */
hvl_t buf52[3][2]; /* vlen */
int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */
int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */
@@ -6348,7 +6364,7 @@ void write_dset_in(hid_t loc_id,
char *buf13a[4][3][2]; /* VL string */
char buf23[4][3][2]; /* bitfield, opaque */
s_t buf33[4][3][2]; /* compound */
- hobj_ref_t buf43[4][3][2]; /* reference */
+ href_t buf43[4][3][2]; /* reference */
hvl_t buf53[4][3][2]; /* vlen */
int buf63[24][3]; /* array */
int buf73[4][3][2]; /* integer */
@@ -6475,9 +6491,11 @@ void write_dset_in(hid_t loc_id,
/* Create references to dataset */
if (dset_name)
{
- status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,(hid_t)-1);
- status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf4[0] = H5Rcreate_object(fid, dset_name);
+ buf4[1] = H5Rcreate_object(fid, dset_name);
write_dset(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
+ H5Rdestroy(buf4[0]);
+ H5Rdestroy(buf4[1]);
}
/*-------------------------------------------------------------------------
@@ -6690,10 +6708,15 @@ void write_dset_in(hid_t loc_id,
{
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
- status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf42[i][j] = H5Rcreate_object(fid, dset_name);
}
}
write_dset(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
+ for (i = 0; i < 3; i++) {
+ for (j = 0; j < 2; j++) {
+ H5Rdestroy(buf42[i][j]);
+ }
+ }
}
/*-------------------------------------------------------------------------
@@ -6901,10 +6924,16 @@ void write_dset_in(hid_t loc_id,
for (i = 0; i < 4; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 2; k++)
- status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf43[i][j][k] = H5Rcreate_object(fid, dset_name);
}
}
write_dset(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
+ for (i = 0; i < 4; i++) {
+ for (j = 0; j < 3; j++) {
+ for (k = 0; k < 2; k++)
+ H5Rdestroy(buf43[i][j][k]);
+ }
+ }
}
/*-------------------------------------------------------------------------
@@ -7019,7 +7048,7 @@ void gen_datareg(hid_t fid,
hid_t did2; /* dataset ID */
hid_t sid2; /* dataspace ID */
hsize_t dims2[] = {2}; /* 2 references */
- hdset_reg_ref_t *rbuf; /* buffer for write the references */
+ href_t *rbuf; /* buffer for write the references */
hsize_t start[10]; /* starting location of hyperslab */
hsize_t count[10]; /* element count of hyperslab */
hsize_t coord[5][2]; /* coordinates for point selection */
@@ -7027,7 +7056,7 @@ void gen_datareg(hid_t fid,
int i;
/* allocate the buffer for write the references */
- rbuf = (hdset_reg_ref_t *)HDcalloc((size_t)2, sizeof(hdset_reg_ref_t));
+ rbuf = (href_t *)HDcalloc((size_t)2, sizeof(href_t));
/* allocate the buffer for write the data dataset */
buf = (int *)HDmalloc(10 * 10 * sizeof(int));
@@ -7043,7 +7072,7 @@ void gen_datareg(hid_t fid,
/* create the reference dataset */
sid2 = H5Screate_simple(1, dims2, NULL);
- did2 = H5Dcreate2(fid, "refreg", H5T_STD_REF_DSETREG, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ did2 = H5Dcreate2(fid, "refreg", H5T_STD_REF_REG, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
/* create the references */
/* select hyperslab for first reference */
@@ -7060,8 +7089,8 @@ void gen_datareg(hid_t fid,
H5Sget_select_npoints(sid1);
/* store first dataset region */
- status = H5Rcreate(&rbuf[0], fid, "dsetref", H5R_DATASET_REGION, sid1);
- HDassert(status >= 0);
+ rbuf[0] = H5Rcreate_region(fid, "dsetref", sid1);
+ HDassert(rbuf[0]);
/* select sequence of five points for second reference */
coord[0][0]=6; coord[0][1]=9;
@@ -7079,10 +7108,11 @@ void gen_datareg(hid_t fid,
H5Sget_select_npoints(sid1);
/* store second dataset region */
- H5Rcreate(&rbuf[1],fid,"dsetref",H5R_DATASET_REGION,sid1);
+ rbuf[1] = H5Rcreate_region(fid, "dsetref", sid1);
+ HDassert(rbuf[1]);
/* write */
- status = H5Dwrite(did2,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,rbuf);
+ status = H5Dwrite(did2, H5T_STD_REF_REG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rbuf);
HDassert(status >= 0);
/* close, free memory buffers */
@@ -7094,6 +7124,10 @@ void gen_datareg(hid_t fid,
HDassert(status >= 0);
status = H5Sclose(sid2);
HDassert(status >= 0);
+ status = H5Rdestroy(rbuf[0]);
+ HDassert(status >= 0);
+ status = H5Rdestroy(rbuf[1]);
+ HDassert(status >= 0);
HDfree(rbuf);
HDfree(buf);
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index 250f96f..bea0a36 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -2018,17 +2018,13 @@ static void gent_objref(void)
hid_t sid1; /* Dataspace ID */
hid_t tid1; /* Datatype ID */
hsize_t dims1[] = {SPACE1_DIM1};
- hobj_ref_t *wbuf, /* buffer to write to disk */
- *rbuf, /* buffer read from disk */
- *tbuf; /* temp. buffer read from disk */
+ href_t *wbuf; /* buffer to write to disk */
uint32_t *tu32; /* Temporary pointer to uint32 data */
int i; /* counting variables */
const char *write_comment = "Foo!"; /* Comments for group */
/* Allocate write & read buffers */
- wbuf = (hobj_ref_t*) HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1);
- rbuf = (hobj_ref_t*) HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1);
- tbuf = (hobj_ref_t*) HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1);
+ wbuf = (href_t*) HDmalloc(sizeof(href_t) * SPACE1_DIM1);
/* Create file */
fid1 = H5Fcreate(FILE16, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
@@ -2083,16 +2079,16 @@ static void gent_objref(void)
dataset = H5Dcreate2(fid1, "Dataset3", H5T_STD_REF_OBJ, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
/* Create reference to dataset */
- H5Rcreate(&wbuf[0], fid1, "/Group1/Dataset1", H5R_OBJECT, (hid_t)-1);
+ wbuf[0] = H5Rcreate_object(fid1, "/Group1/Dataset1");
/* Create reference to dataset */
- H5Rcreate(&wbuf[1], fid1, "/Group1/Dataset2", H5R_OBJECT, (hid_t)-1);
+ wbuf[1] = H5Rcreate_object(fid1, "/Group1/Dataset2");
/* Create reference to group */
- H5Rcreate(&wbuf[2], fid1, "/Group1", H5R_OBJECT, (hid_t)-1);
+ wbuf[2] = H5Rcreate_object(fid1, "/Group1");
/* Create reference to named datatype */
- H5Rcreate(&wbuf[3], fid1, "/Group1/Datatype1", H5R_OBJECT, (hid_t)-1);
+ wbuf[3] = H5Rcreate_object(fid1, "/Group1/Datatype1");
/* Write selection to disk */
H5Dwrite(dataset, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, wbuf);
@@ -2103,13 +2099,15 @@ static void gent_objref(void)
/* Close Dataset */
H5Dclose(dataset);
+ /* Destroy references */
+ for (i = 0; i < SPACE1_DIM1; i++)
+ H5Rdestroy(wbuf[i]);
+
/* Close file */
H5Fclose(fid1);
/* Free memory buffers */
HDfree(wbuf);
- HDfree(rbuf);
- HDfree(tbuf);
}
static void gent_datareg(void)
@@ -2128,18 +2126,14 @@ static void gent_datareg(void)
hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */
hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */
hsize_t coord1[POINT1_NPOINTS][SPACE2_RANK]; /* Coordinates for point selection */
- hdset_reg_ref_t *wbuf, /* buffer to write to disk */
- *rbuf; /* buffer read from disk */
- uint8_t *dwbuf, /* Buffer for writing numeric data to disk */
- *drbuf; /* Buffer for reading numeric data from disk */
+ href_t *wbuf; /* buffer to write to disk */
+ uint8_t *dwbuf; /* Buffer for writing numeric data to disk */
uint8_t *tu8; /* Temporary pointer to uint8 data */
int i; /* counting variables */
/* Allocate write & read buffers */
- wbuf = (hdset_reg_ref_t*) HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1);
- rbuf = (hdset_reg_ref_t*) HDmalloc(sizeof(hdset_reg_ref_t)*SPACE1_DIM1);
+ wbuf = (href_t*) HDcalloc(sizeof(href_t), SPACE1_DIM1);
dwbuf = (uint8_t*) HDmalloc(sizeof(uint8_t)*SPACE2_DIM1*SPACE2_DIM2);
- drbuf = (uint8_t*) HDcalloc(sizeof(uint8_t),SPACE2_DIM1*SPACE2_DIM2);
/* Create file */
fid1 = H5Fcreate(FILE17, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
@@ -2163,7 +2157,7 @@ static void gent_datareg(void)
sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL);
/* Create a dataset */
- dset1 = H5Dcreate2(fid1, "Dataset1", H5T_STD_REF_DSETREG, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ dset1 = H5Dcreate2(fid1, "Dataset1", H5T_STD_REF_REG, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
/* Create references */
@@ -2177,7 +2171,7 @@ static void gent_datareg(void)
H5Sget_select_npoints(sid2);
/* Store first dataset region */
- H5Rcreate(&wbuf[0], fid1, "/Dataset2", H5R_DATASET_REGION, sid2);
+ wbuf[0] = H5Rcreate_region(fid1, "/Dataset2", sid2);
/* Select sequence of ten points for second reference */
coord1[0][0]=6; coord1[0][1]=9;
@@ -2195,10 +2189,10 @@ static void gent_datareg(void)
H5Sget_select_npoints(sid2);
/* Store second dataset region */
- H5Rcreate(&wbuf[1],fid1,"/Dataset2",H5R_DATASET_REGION,sid2);
+ wbuf[1] = H5Rcreate_region(fid1, "/Dataset2", sid2);
/* Write selection to disk */
- H5Dwrite(dset1,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf);
+ H5Dwrite(dset1, H5T_STD_REF_REG, H5S_ALL, H5S_ALL, H5P_DEFAULT, wbuf);
/* Close disk dataspace */
H5Sclose(sid1);
@@ -2209,14 +2203,16 @@ static void gent_datareg(void)
/* Close uint8 dataset dataspace */
H5Sclose(sid2);
+ /* Destroy references */
+ for (i = 0; i < SPACE1_DIM1; i++)
+ H5Rdestroy(wbuf[i]);
+
/* Close file */
H5Fclose(fid1);
/* Free memory buffers */
HDfree(wbuf);
- HDfree(rbuf);
HDfree(dwbuf);
- HDfree(drbuf);
}
static void gent_attrreg(void)
@@ -2237,18 +2233,14 @@ static void gent_attrreg(void)
hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */
hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */
hsize_t coord1[POINT1_NPOINTS][SPACE2_RANK]; /* Coordinates for point selection */
- hdset_reg_ref_t *wbuf; /* buffer to write to disk */
- hdset_reg_ref_t *rbuf; /* buffer read from disk */
+ href_t *wbuf; /* buffer to write to disk */
uint8_t *dwbuf; /* Buffer for writing numeric data to disk */
- uint8_t *drbuf; /* Buffer for reading numeric data from disk */
uint8_t *tu8; /* Temporary pointer to uint8 data */
int i; /* counting variables */
/* Allocate write & read buffers */
- wbuf = (hdset_reg_ref_t*) HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1);
- rbuf = (hdset_reg_ref_t*) HDmalloc(sizeof(hdset_reg_ref_t)*SPACE1_DIM1);
+ wbuf = (href_t*) HDcalloc(sizeof(href_t), SPACE1_DIM1);
dwbuf = (uint8_t*) HDmalloc(sizeof(uint8_t)*SPACE2_DIM1*SPACE2_DIM2);
- drbuf = (uint8_t*) HDcalloc(sizeof(uint8_t),SPACE2_DIM1*SPACE2_DIM2);
/* Create file */
fid1 = H5Fcreate(FILE64, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
@@ -2289,7 +2281,7 @@ static void gent_attrreg(void)
H5Sget_select_npoints(sid2);
/* Store first dataset region */
- H5Rcreate(&wbuf[0], fid1, "/Dataset2", H5R_DATASET_REGION, sid2);
+ wbuf[0] = H5Rcreate_region(fid1, "/Dataset2", sid2);
/* Select sequence of ten points for second reference */
coord1[0][0]=6; coord1[0][1]=9;
@@ -2307,15 +2299,15 @@ static void gent_attrreg(void)
H5Sget_select_npoints(sid2);
/* Store second dataset region */
- H5Rcreate(&wbuf[1],fid1,"/Dataset2",H5R_DATASET_REGION,sid2);
+ wbuf[1] = H5Rcreate_region(fid1, "/Dataset2", sid2);
/* Create dataspace for the attribute */
sid3 = H5Screate_simple(SPACE1_RANK, dims1, NULL);
/* Create the attribute and write the region references to it. */
- attr1 = H5Acreate2 (dset1, "Attribute1", H5T_STD_REF_DSETREG, sid3, H5P_DEFAULT,
+ attr1 = H5Acreate2 (dset1, "Attribute1", H5T_STD_REF_REG, sid3, H5P_DEFAULT,
H5P_DEFAULT);
- H5Awrite (attr1, H5T_STD_REF_DSETREG, wbuf);
+ H5Awrite (attr1, H5T_STD_REF_REG, wbuf);
/* Close attribute dataspace */
H5Sclose(sid3);
@@ -2329,14 +2321,16 @@ static void gent_attrreg(void)
/* Close uint8 dataset dataspace */
H5Sclose(sid2);
+ /* Destroy references */
+ for (i = 0; i < SPACE1_DIM1; i++)
+ H5Rdestroy(wbuf[i]);
+
/* Close file */
H5Fclose(fid1);
/* Free memory buffers */
HDfree(wbuf);
- HDfree(rbuf);
HDfree(dwbuf);
- HDfree(drbuf);
}
/*taken from Elena's compound test file*/
@@ -2925,7 +2919,7 @@ static void gent_array1_big(void)
hsize_t stride[SPACE1_RANK]; /* Stride of hyperslab */
hsize_t count[SPACE1_RANK]; /* Element count of hyperslab */
hsize_t block[SPACE1_RANK]; /* Block size of hyperslab */
- hdset_reg_ref_t *wbuf; /* buffer to write to disk */
+ href_t *wbuf; /* buffer to write to disk */
start[0] = 0;
stride[0] = 1;
@@ -2933,7 +2927,7 @@ static void gent_array1_big(void)
block[0] = 1;
/* Allocate write & read buffers */
- wbuf = (hdset_reg_ref_t*) HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1);
+ wbuf = (href_t*) HDcalloc(sizeof(href_t), SPACE1_DIM1);
wdata = (int *)HDmalloc(sizeof(int) * (size_t)(SPACE_ARRAY1BIG_DIM * ARRAY1BIG_DIM));
/* Allocate and initialize array data to write */
@@ -2967,7 +2961,7 @@ static void gent_array1_big(void)
sid2 = H5Screate_simple(SPACE1_RANK, dims2, NULL);
/* Create a dataset */
- dset2 = H5Dcreate2(fid1, "Dataset2", H5T_STD_REF_DSETREG, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ dset2 = H5Dcreate2(fid1, "Dataset2", H5T_STD_REF_REG, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
/* Create references */
H5Sselect_hyperslab(sid1, H5S_SELECT_SET, start, stride, count, block);
@@ -2975,10 +2969,10 @@ static void gent_array1_big(void)
H5Sget_select_npoints(sid1);
/* Create Dataset1 region */
- H5Rcreate(&wbuf[0], fid1, "/Dataset1", H5R_DATASET_REGION, sid1);
+ wbuf[0] = H5Rcreate_region(fid1, "/Dataset1", sid1);
/* Write selection to disk */
- H5Dwrite(dset2,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf);
+ H5Dwrite(dset2, H5T_STD_REF_REG, H5S_ALL, H5S_ALL, H5P_DEFAULT, wbuf);
/* Close Dataset */
ret = H5Dclose(dataset);
@@ -2987,6 +2981,8 @@ static void gent_array1_big(void)
HDassert(ret >= 0);
ret = H5Sclose(sid1);
HDassert(ret >= 0);
+ ret = H5Rdestroy(wbuf[0]);
+ HDassert(ret >= 0);
ret = H5Fclose(fid1);
HDassert(ret >= 0);
@@ -3873,7 +3869,7 @@ static void write_attr_in(hid_t loc_id,
char buf1[2][3]= {"ab","de"}; /* string */
char buf2[2]= {1,2}; /* bitfield, opaque */
s_t buf3[2]= {{1,2},{3,4}}; /* compound */
- hobj_ref_t buf4[2]; /* reference */
+ href_t buf4[2]; /* reference */
hvl_t buf5[2]; /* vlen */
hsize_t dimarray[1]={3}; /* array dimension */
int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */
@@ -3885,7 +3881,7 @@ static void write_attr_in(hid_t loc_id,
char buf12[6][3]= {"ab","cd","ef","gh","ij","kl"}; /* string */
char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */
s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */
- hobj_ref_t buf42[3][2]; /* reference */
+ href_t buf42[3][2]; /* reference */
hvl_t buf52[3][2]; /* vlen */
int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */
int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */
@@ -3898,7 +3894,7 @@ static void write_attr_in(hid_t loc_id,
"IJ","KL","MN","PQ","RS","TU","VW","XZ"}; /* string */
char buf23[4][3][2]; /* bitfield, opaque */
s_t buf33[4][3][2]; /* compound */
- hobj_ref_t buf43[4][3][2]; /* reference */
+ href_t buf43[4][3][2]; /* reference */
hvl_t buf53[4][3][2]; /* vlen */
int buf63[24][3]; /* array */
int buf73[4][3][2]; /* integer */
@@ -3953,9 +3949,11 @@ static void write_attr_in(hid_t loc_id,
/* Create references to dataset */
if(dset_name)
{
- status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,(hid_t)-1);
- status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf4[0] = H5Rcreate_object(fid, dset_name);
+ buf4[1] = H5Rcreate_object(fid, dset_name);
write_attr(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
+ H5Rdestroy(buf4[0]);
+ H5Rdestroy(buf4[1]);
}
/*-------------------------------------------------------------------------
@@ -4060,10 +4058,15 @@ static void write_attr_in(hid_t loc_id,
{
for(i = 0; i < 3; i++) {
for(j = 0; j < 2; j++) {
- status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf42[i][j] = H5Rcreate_object(fid, dset_name);
}
}
write_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
+ for(i = 0; i < 3; i++) {
+ for(j = 0; j < 2; j++) {
+ H5Rdestroy(buf42[i][j]);
+ }
+ }
}
/*-------------------------------------------------------------------------
@@ -4191,10 +4194,16 @@ static void write_attr_in(hid_t loc_id,
for(i = 0; i < 4; i++) {
for(j = 0; j < 3; j++) {
for(k = 0; k < 2; k++)
- status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf43[i][j][k] = H5Rcreate_object(fid, dset_name);
}
}
write_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
+ for(i = 0; i < 4; i++) {
+ for(j = 0; j < 3; j++) {
+ for(k = 0; k < 2; k++)
+ H5Rdestroy(buf43[i][j][k]);
+ }
+ }
}
/*-------------------------------------------------------------------------
@@ -4315,7 +4324,7 @@ static void write_dset_in(hid_t loc_id,
char buf1[2][3]= {"ab","de"}; /* string */
char buf2[2]= {1,2}; /* bitfield, opaque */
s_t buf3[2]= {{1,2},{3,4}}; /* compound */
- hobj_ref_t buf4[2]; /* reference */
+ href_t buf4[2]; /* reference */
hvl_t buf5[2]; /* vlen */
hsize_t dimarray[1]={3}; /* array dimension */
int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */
@@ -4327,7 +4336,7 @@ static void write_dset_in(hid_t loc_id,
char buf12[6][3]= {"ab","cd","ef","gh","ij","kl"}; /* string */
char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */
s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */
- hobj_ref_t buf42[3][2]; /* reference */
+ href_t buf42[3][2]; /* reference */
hvl_t buf52[3][2]; /* vlen */
int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */
int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */
@@ -4340,7 +4349,7 @@ static void write_dset_in(hid_t loc_id,
"IJ","KL","MN","PQ","RS","TU","VW","XZ"}; /* string */
char buf23[4][3][2]; /* bitfield, opaque */
s_t buf33[4][3][2]; /* compound */
- hobj_ref_t buf43[4][3][2]; /* reference */
+ href_t buf43[4][3][2]; /* reference */
hvl_t buf53[4][3][2]; /* vlen */
int buf63[24][3]; /* array */
int buf73[4][3][2]; /* integer */
@@ -4395,9 +4404,11 @@ static void write_dset_in(hid_t loc_id,
/* Create references to dataset */
if(dset_name)
{
- status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,(hid_t)-1);
- status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf4[0] = H5Rcreate_object(fid, dset_name);
+ buf4[1] = H5Rcreate_object(fid, dset_name);
write_dset(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
+ H5Rdestroy(buf4[0]);
+ H5Rdestroy(buf4[1]);
}
/*-------------------------------------------------------------------------
@@ -4502,10 +4513,15 @@ static void write_dset_in(hid_t loc_id,
{
for(i = 0; i < 3; i++) {
for(j = 0; j < 2; j++) {
- status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf42[i][j] = H5Rcreate_object(fid, dset_name);
}
}
write_dset(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
+ for(i = 0; i < 3; i++) {
+ for(j = 0; j < 2; j++) {
+ H5Rdestroy(buf42[i][j]);
+ }
+ }
}
/*-------------------------------------------------------------------------
@@ -4645,10 +4661,16 @@ static void write_dset_in(hid_t loc_id,
for(i = 0; i < 4; i++) {
for(j = 0; j < 3; j++) {
for(k = 0; k < 2; k++)
- status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,(hid_t)-1);
+ buf43[i][j][k] = H5Rcreate_object(fid, dset_name);
}
}
write_dset(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
+ for(i = 0; i < 4; i++) {
+ for(j = 0; j < 3; j++) {
+ for(k = 0; k < 2; k++)
+ H5Rdestroy(buf43[i][j][k]);
+ }
+ }
}
/*-------------------------------------------------------------------------
diff --git a/tools/misc/h5perf_gentest.c b/tools/misc/h5perf_gentest.c
index 50c18c1..c720964 100644
--- a/tools/misc/h5perf_gentest.c
+++ b/tools/misc/h5perf_gentest.c
@@ -138,8 +138,8 @@ herr_t create_perf_test_file(const char *fname, int ngrps, int ndsets,
hvl_t *buf_vlen_i=NULL;
char (*buf_str)[FIXED_LEN];
char **buf_vlen_s=NULL;
- hobj_ref_t buf_ref[2];
- hdset_reg_ref_t buf_reg_ref[2];
+ href_t buf_ref[2];
+ href_t buf_reg_ref[2];
size_t offset, len;
herr_t status;
char *names[NTYPES] = { "int", "ulong", "float", "double", "fixed string",
@@ -395,8 +395,8 @@ herr_t create_perf_test_file(const char *fname, int ngrps, int ndsets,
H5Dclose(did);
/* 11 add object refs */
- H5Rcreate(&buf_ref[0],gid1, ".", H5R_OBJECT, (hid_t)-1);
- H5Rcreate(&buf_ref[1],gid1, tmp_name3, H5R_OBJECT, (hid_t)-1);
+ buf_ref[0] = H5Rcreate_object(gid1, ".");
+ buf_ref[1] = H5Rcreate_object(gid1, tmp_name3);
sprintf(name, "%05d obj refs", j);
did = H5Dcreate (gid1, name, H5T_STD_REF_OBJ, sid_2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Dwrite (did, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_ref);
@@ -405,15 +405,15 @@ herr_t create_perf_test_file(const char *fname, int ngrps, int ndsets,
/* 12 add region refs */
H5Sselect_elements (sid_2d, H5S_SELECT_SET, 4, coords[0]);
- H5Rcreate(&buf_reg_ref[0],gid1, tmp_name1, H5R_DATASET_REGION, sid_2d);
+ buf_reg_ref[0] = H5Rcreate_region(gid1, tmp_name1, sid_2d);
H5Sselect_none(sid_2d);
count = dims[0]/2+1;
H5Sselect_hyperslab (sid_1d, H5S_SELECT_SET, &start, &stride, &count,NULL);
- H5Rcreate(&buf_reg_ref[1],gid1, tmp_name2, H5R_DATASET_REGION, sid_1d);
+ buf_reg_ref[1] = H5Rcreate_region(gid1, tmp_name2, sid_1d);
H5Sselect_none(sid_1d);
sprintf(name, "%05d region refs", j);
- did = H5Dcreate (gid1, name, H5T_STD_REF_DSETREG, sid_2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- H5Dwrite (did, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_reg_ref);
+ did = H5Dcreate (gid1, name, H5T_STD_REF_REG, sid_2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ H5Dwrite (did, H5T_STD_REF_REG, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_reg_ref);
if (!j) add_attrs(did, j);
H5Dclose(did);
}
@@ -433,6 +433,10 @@ herr_t create_perf_test_file(const char *fname, int ngrps, int ndsets,
H5Sclose (sid_large);
H5Sclose (sid_null);
H5Sclose (sid_scalar);
+ H5Rdestroy (buf_ref[0]);
+ H5Rdestroy (buf_ref[1]);
+ H5Rdestroy (buf_reg_ref[0]);
+ H5Rdestroy (buf_reg_ref[1]);
H5Fclose (fid);
for (i=0; i<dims[0]; i++) {
@@ -485,7 +489,7 @@ int add_attrs(hid_t oid, int idx)
int i0, i1, i2, j, nattrs=0;
hid_t aid, tid, tid1, sid;
hvl_t i_vlen[4];
- hobj_ref_t ref;
+ href_t ref;
zipcode_t cmp_data[4];
unsigned int i = 0xffffffff;
long long l = -2147483647;
@@ -533,7 +537,7 @@ int add_attrs(hid_t oid, int idx)
/* 4 single point */
sid = H5Screate_simple (1, dims1, NULL);
- H5Rcreate(&ref, oid, ".", H5R_OBJECT, (hid_t)-1);
+ ref = H5Rcreate_object(oid, ".");
sprintf(name, "%05d single float", idx);
nattrs += add_attr(oid, name, H5T_NATIVE_FLOAT, sid, &f);
sprintf(name, "%05d single double", idx);
@@ -541,6 +545,7 @@ int add_attrs(hid_t oid, int idx)
sprintf(name, "%05d single obj_ref", idx);
nattrs += add_attr(oid, name, H5T_STD_REF_OBJ, sid, &ref);
H5Sclose(sid);
+ H5Rdestroy(ref);
/* 7 fixed length 1D array */
sid = H5Screate_simple (1, dims1, NULL);