[svn-r14117] Description:

Move H5Glink() into "deprecated routines" section, replacing internal
usage with H5Lcreate_hard/H5Lcreate_soft.

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Solaris/32 5.10 (linew)
This commit is contained in:
Quincey Koziol 2007-08-28 14:47:00 -05:00
parent 2785c61b8d
commit a84811bfb8
19 changed files with 503 additions and 482 deletions

View File

@ -245,10 +245,25 @@ DataSet CommonFG::openDataSet( const H5std_string& name ) const
//--------------------------------------------------------------------------
void CommonFG::link( H5G_link_t link_type, const char* curr_name, const char* new_name ) const
{
herr_t ret_value = H5Glink( getLocId(), link_type, curr_name, new_name );
herr_t ret_value;
switch(link_type) {
case H5L_TYPE_HARD:
ret_value = H5Lcreate_hard( getLocId(), curr_name, H5L_SAME_LOC, new_name, H5P_DEFAULT, H5P_DEFAULT );
break;
case H5L_TYPE_SOFT:
ret_value = H5Lcreate_soft( curr_name, getLocId(), new_name, H5P_DEFAULT, H5P_DEFAULT );
break;
default:
throwException("link", "unknown link type");
break;
} /* end switch */
if( ret_value < 0 )
{
throwException("link", "H5Glink failed");
throwException("link", "creating link failed");
}
}

View File

@ -118,7 +118,7 @@ main(void)
/*
* Create hard link to the Data group.
*/
status = H5Glink(file, H5G_LINK_HARD, "Data", "Data_new");
status = H5Lcreate_hard(file, "Data", H5L_SAME_LOC, "Data_new", H5P_DEFAULT, H5P_DEFAULT);
/*
* We can access "Compressed_Data" dataset using created

View File

@ -253,14 +253,13 @@ DONE:
*---------------------------------------------------------------------------*/
int_f
nh5gclose_c ( hid_t_f *grp_id )
nh5gclose_c(hid_t_f *grp_id)
{
int ret_value = 0;
hid_t c_grp_id;
int ret_value = 0;
c_grp_id = (hid_t)*grp_id;
if ( H5Gclose(c_grp_id) < 0 ) ret_value = -1;
return ret_value;
if(H5Gclose((hid_t)*grp_id) < 0)
ret_value = -1;
return ret_value;
}
@ -281,40 +280,46 @@ nh5gclose_c ( hid_t_f *grp_id )
*---------------------------------------------------------------------------*/
int_f
nh5glink_c(hid_t_f *loc_id, int_f *link_type, _fcd current_name, int_f *current_namelen, _fcd new_name, int_f *new_namelen)
nh5glink_c(hid_t_f *loc_id, int_f *link_type, _fcd current_name,
int_f *current_namelen, _fcd new_name, int_f *new_namelen)
{
int ret_value = -1;
hid_t c_loc_id;
H5G_link_t c_link_type;
char *c_current_name, *c_new_name;
size_t c_current_namelen, c_new_namelen;
herr_t c_ret_value;
/*
* Convert Fortran name to C name
*/
c_current_namelen =*current_namelen;
c_new_namelen =*new_namelen;
c_current_name = (char *)HD5f2cstring(current_name, c_current_namelen);
if (c_current_name == NULL) return ret_value;
char *c_current_name = NULL, *c_new_name = NULL;
int ret_value = -1;
c_new_name = (char *)HD5f2cstring(new_name, c_new_namelen);
if(c_new_name == NULL) { HDfree(c_current_name);
return ret_value;
}
/*
* Call H5Glink function
*/
c_loc_id = *loc_id;
c_link_type = (H5G_link_t)*link_type;
c_ret_value = H5Glink(c_loc_id, c_link_type, c_current_name, c_new_name);
/*
* Convert Fortran name to C name
*/
if(NULL == (c_current_name = (char *)HD5f2cstring(current_name, (size_t)*current_namelen)))
goto DONE;
if(NULL == (c_new_name = (char *)HD5f2cstring(new_name, (size_t)new_namelen)))
goto DONE;
if(c_ret_value < 0) goto DONE;
ret_value = 0;
/*
* Call appropriate link creation function
*/
switch((H5G_link_t)*link_type) {
case H5L_TYPE_HARD:
if(H5Lcreate_hard((hid_t)*loc_id, c_current_name, H5L_SAME_LOC, c_new_name, H5P_DEFAULT, H5P_DEFAULT) < 0)
goto DONE;
break;
case H5L_TYPE_SOFT:
if(H5Lcreate_soft(c_current_name, (hid_t)*loc_id, c_new_name, H5P_DEFAULT, H5P_DEFAULT) < 0)
goto DONE;
break;
default: /* Unknown/unhandled link type */
goto DONE;
} /* end switch */
ret_value = 0;
DONE:
HDfree(c_current_name);
HDfree(c_new_name);
return ret_value ;
if(c_current_name)
HDfree(c_current_name);
if(c_new_name)
HDfree(c_new_name);
return ret_value ;
}
/*----------------------------------------------------------------------------

View File

@ -264,7 +264,6 @@ done:
FUNC_LEAVE_API(ret_value)
} /* end H5Gopen1() */
#endif /* H5_NO_DEPRECATED_SYMBOLS */
/*-------------------------------------------------------------------------
@ -310,6 +309,7 @@ H5Glink(hid_t cur_loc_id, H5L_type_t type, const char *cur_name, const char *new
done:
FUNC_LEAVE_API(ret_value)
} /* end H5Glink() */
#endif /* H5_NO_DEPRECATED_SYMBOLS */
/*-------------------------------------------------------------------------

View File

@ -137,12 +137,10 @@ H5_DLL herr_t H5Gclose(hid_t group_id);
*
* Use of these functions and variables is deprecated.
*/
H5_DLL herr_t H5Glink(hid_t cur_loc_id, H5L_type_t type, const char *cur_name,
const char *new_name);
H5_DLL herr_t H5Gmove(hid_t src_loc_id, const char *src_name,
const char *dst_name);
H5_DLL herr_t H5Glink2(hid_t cur_loc_id, const char *cur_name, H5L_type_t type,
hid_t new_loc_id, const char *new_name);
H5_DLL herr_t H5Gmove(hid_t src_loc_id, const char *src_name,
const char *dst_name);
H5_DLL herr_t H5Gmove2(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id,
const char *dst_name);
H5_DLL herr_t H5Gunlink(hid_t loc_id, const char *name);
@ -170,6 +168,8 @@ H5_DLL herr_t H5Gget_num_objs(hid_t loc_id, hsize_t *num_objs);
/* Function prototypes */
H5_DLL hid_t H5Gcreate1(hid_t loc_id, const char *name, size_t size_hint);
H5_DLL hid_t H5Gopen1(hid_t loc_id, const char *name);
H5_DLL herr_t H5Glink(hid_t cur_loc_id, H5L_type_t type, const char *cur_name,
const char *new_name);
#endif /* H5_NO_DEPRECATED_SYMBOLS */

View File

@ -466,12 +466,12 @@ done:
/*-------------------------------------------------------------------------
* Function: H5Lcreate_soft
*
* Purpose: Creates a soft link from NEW_NAME to TARGET_PATH.
* Purpose: Creates a soft link from LINK_NAME to LINK_TARGET.
*
* TARGET_PATH can be anything and is interpreted at lookup
* LINK_TARGET can be anything and is interpreted at lookup
* time relative to the group which contains the final component
* of NEW_NAME. For instance, if TARGET_PATH is `./foo' and
* NEW_NAME is `./x/y/bar' and a request is made for `./x/y/bar'
* of LINK_NAME. For instance, if LINK_TARGET is `./foo' and
* LINK_NAME is `./x/y/bar' and a request is made for `./x/y/bar'
* then the actual object looked up is `./x/y/./foo'.
*
* Return: Non-negative on success/Negative on failure
@ -482,27 +482,27 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
H5Lcreate_soft(const char *target_path,
hid_t cur_loc_id, const char *new_name, hid_t lcpl_id, hid_t lapl_id)
H5Lcreate_soft(const char *link_target,
hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id)
{
H5G_loc_t cur_loc; /* Group location for new link */
H5G_loc_t link_loc; /* Group location for new link */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_API(H5Lcreate_soft, FAIL)
H5TRACE5("e", "*si*sii", target_path, cur_loc_id, new_name, lcpl_id, lapl_id);
H5TRACE5("e", "*si*sii", link_target, link_loc_id, link_name, lcpl_id, lapl_id);
/* Check arguments */
if(H5G_loc(cur_loc_id, &cur_loc) < 0)
if(H5G_loc(link_loc_id, &link_loc) < 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
if(!target_path || !*target_path)
if(!link_target || !*link_target)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no target specified")
if(!new_name || !*new_name)
if(!link_name || !*link_name)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no new name specified")
if(lcpl_id != H5P_DEFAULT && (TRUE != H5P_isa_class(lcpl_id, H5P_LINK_CREATE)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a link creation property list")
/* Create the link */
if(H5L_create_soft(target_path, &cur_loc, new_name, lcpl_id, lapl_id, H5AC_dxpl_id) < 0)
if(H5L_create_soft(link_target, &link_loc, link_name, lcpl_id, lapl_id, H5AC_dxpl_id) < 0)
HGOTO_ERROR(H5E_LINK, H5E_CANTINIT, FAIL, "unable to create link")
done:

View File

@ -148,8 +148,8 @@ H5_DLL herr_t H5Lcopy(hid_t src_loc, const char *src_name, hid_t dst_loc,
const char *dst_name, hid_t lcpl_id, hid_t lapl_id);
H5_DLL herr_t H5Lcreate_hard(hid_t cur_loc, const char *cur_name,
hid_t dst_loc, const char *dst_name, hid_t lcpl_id, hid_t lapl_id);
H5_DLL herr_t H5Lcreate_soft(const char *target_path, hid_t cur_loc,
const char *cur_name, hid_t lcpl_id, hid_t lapl_id);
H5_DLL herr_t H5Lcreate_soft(const char *link_target, hid_t link_loc_id,
const char *link_name, hid_t lcpl_id, hid_t lapl_id);
H5_DLL herr_t H5Ldelete(hid_t loc_id, const char *name, hid_t lapl_id);
H5_DLL herr_t H5Ldelete_by_idx(hid_t loc_id, const char *group_name,
H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id);

File diff suppressed because it is too large Load Diff

View File

@ -1467,6 +1467,7 @@ error:
*
*-------------------------------------------------------------------------
*/
#ifndef H5_NO_DEPRECATED_SYMBOLS
static int
test_compat(hid_t fapl, hbool_t new_format)
{
@ -1562,6 +1563,7 @@ error:
} H5E_END_TRY;
return 1;
} /* end test_compat() */
#endif /* H5_NO_DEPRECATED_SYMBOLS */
/*-------------------------------------------------------------------------
@ -5172,7 +5174,7 @@ linkinfo(hid_t fapl, hbool_t new_format)
if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR
if(H5Tcommit(fid, "datatype", tid) < 0) TEST_ERROR
if((gid = H5Gcreate2(fid, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
if(H5Glink(fid, H5G_LINK_SOFT, "group", "softlink") < 0) TEST_ERROR
if(H5Glink2(fid, "group", H5G_LINK_SOFT, H5G_SAME_LOC, "softlink") < 0) TEST_ERROR
if((sid = H5Screate(H5S_SCALAR)) < 0) TEST_ERROR
if((did = H5Dcreate(fid, "dataset", H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) TEST_ERROR
@ -9580,7 +9582,9 @@ main(void)
nerrors += test_move((new_format ? fapl2 : fapl), new_format);
nerrors += test_copy((new_format ? fapl2 : fapl), new_format);
nerrors += test_move_preserves((new_format ? fapl2 : fapl), new_format);
#ifndef H5_NO_DEPRECATED_SYMBOLS
nerrors += test_compat((new_format ? fapl2 : fapl), new_format);
#endif /* H5_NO_DEPRECATED_SYMBOLS */
#ifndef H5_CANNOT_OPEN_TWICE
nerrors += external_link_root((new_format ? fapl2 : fapl), new_format) < 0 ? 1 : 0;
#endif /* H5_CANNOT_OPEN_TWICE */

View File

@ -71,8 +71,8 @@ setup(hid_t fapl)
if(H5Gclose(H5Gcreate2(file, "/mnt1/file1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
if(H5Gclose(H5Gcreate2(file, "/mnt_unlink", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
if(H5Gclose(H5Gcreate2(file, "/mnt_move_a", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
if(H5Glink(file, H5L_TYPE_HARD, "/mnt1/file1", "/file1") < 0) FAIL_STACK_ERROR
if(H5Glink(file, H5L_TYPE_HARD, "/mnt1", "/mnt1_link") < 0) FAIL_STACK_ERROR
if(H5Lcreate_hard(file, "/file1", H5L_SAME_LOC, "/mnt1/file1", H5P_DEFAULT, H5P_DEFAULT) < 0) FAIL_STACK_ERROR
if(H5Lcreate_hard(file, "/mnt1_link", H5L_SAME_LOC, "/mnt1", H5P_DEFAULT, H5P_DEFAULT) < 0) FAIL_STACK_ERROR
if(H5Fclose(file) < 0) FAIL_STACK_ERROR
/* file 2 */
@ -847,7 +847,7 @@ test_interlink(hid_t fapl)
/* Try an interfile hard link directly */
H5E_BEGIN_TRY {
status = H5Glink(file1, H5L_TYPE_HARD, "/mnt1/file2", "/file2");
status = H5Lcreate_hard(file1, "/mnt1/file2", H5L_SAME_LOC, "/file2", H5P_DEFAULT, H5P_DEFAULT);
} H5E_END_TRY;
if(status >= 0) {
H5_FAILED();
@ -1097,9 +1097,9 @@ test_mount_after_close(hid_t fapl)
/* Mount point */
if((gidABM = H5Gcreate2(gidAB, "M", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
/* Soft link */
if(H5Glink(gidAB, H5L_TYPE_SOFT, "./M/X/Y", "C") < 0) FAIL_STACK_ERROR
if(H5Lcreate_soft("./M/X/Y", gidAB, "C", H5P_DEFAULT, H5P_DEFAULT) < 0) FAIL_STACK_ERROR
/* Soft link */
if(H5Glink(gidAB, H5L_TYPE_SOFT, "/A", "T") < 0) FAIL_STACK_ERROR
if(H5Lcreate_soft("/A", gidAB, "T", H5P_DEFAULT, H5P_DEFAULT) < 0) FAIL_STACK_ERROR
/* Close groups and file */
if(H5Gclose(gidABM) < 0) FAIL_STACK_ERROR
@ -1124,7 +1124,7 @@ test_mount_after_close(hid_t fapl)
if((gidXY = H5Gcreate2(gidX, "Y", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
if((did = H5Dcreate(gidXY, "D", H5T_NATIVE_INT, sid, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
/* Soft link */
if(H5Glink(gidX, H5L_TYPE_SOFT, "./Y", "T") < 0) FAIL_STACK_ERROR
if(H5Lcreate_soft("./Y", gidX, "T", H5P_DEFAULT, H5P_DEFAULT) < 0) FAIL_STACK_ERROR
/* Write data to the dataset. */
if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, bm) < 0) FAIL_STACK_ERROR
@ -3637,7 +3637,7 @@ test_symlink(hid_t fapl)
TEST_ERROR
/* Create soft link to mounted object */
if(H5Glink(fid1, H5L_TYPE_SOFT, "./A/D/H", "L") < 0) /* Soft link */
if(H5Lcreate_soft("./A/D/H", fid1, "L", H5P_DEFAULT, H5P_DEFAULT) < 0) /* Soft link */
TEST_ERROR
if(H5Fclose(fid1) < 0)

View File

@ -4979,13 +4979,13 @@ test_copy_group_links(hid_t fcpl_src, hid_t fcpl_dst, hid_t fapl)
if(H5Dclose(did) < 0) TEST_ERROR
/* make a hard link to the dataset */
if(H5Glink(fid_src, H5L_TYPE_HARD, NAME_LINK_DATASET, NAME_LINK_HARD) < 0) TEST_ERROR
if(H5Glink2(fid_src, NAME_LINK_DATASET, H5L_TYPE_HARD, H5G_SAME_LOC, NAME_LINK_HARD) < 0) TEST_ERROR
/* make a soft link to the dataset */
if(H5Glink(fid_src, H5L_TYPE_SOFT, NAME_LINK_DATASET, NAME_LINK_SOFT) < 0) TEST_ERROR
if(H5Glink2(fid_src, NAME_LINK_DATASET, H5L_TYPE_SOFT, H5G_SAME_LOC, NAME_LINK_SOFT) < 0) TEST_ERROR
/* make a soft link to nowhere */
if(H5Glink(fid_src, H5L_TYPE_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE) < 0) TEST_ERROR
if(H5Glink2(fid_src, "nowhere", H5L_TYPE_SOFT, H5G_SAME_LOC, NAME_LINK_SOFT_DANGLE) < 0) TEST_ERROR
/* make a dangling external link */
if(H5Lcreate_external("filename", "obj_name", fid_src, NAME_LINK_EXTERN, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
@ -5114,7 +5114,7 @@ test_copy_soft_link(hid_t fcpl_src, hid_t fcpl_dst, hid_t fapl)
if(H5Dclose(did) < 0) TEST_ERROR
/* make a soft link to the dataset */
if(H5Glink(fid_src, H5L_TYPE_SOFT, NAME_LINK_DATASET, NAME_LINK_SOFT) < 0) TEST_ERROR
if(H5Glink2(fid_src, NAME_LINK_DATASET, H5L_TYPE_SOFT, H5G_SAME_LOC, NAME_LINK_SOFT) < 0) TEST_ERROR
/* close the group */
if(H5Gclose(gid) < 0) TEST_ERROR
@ -7013,14 +7013,14 @@ test_copy_option(hid_t fcpl_src, hid_t fcpl_dst, hid_t fapl, unsigned flag, hboo
if((flag & H5O_COPY_EXPAND_SOFT_LINK_FLAG) > 0) {
/* Create group to copy */
if((gid = H5Gcreate2(fid_src, NAME_GROUP_LINK, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
if(H5Glink(fid_src, H5L_TYPE_SOFT, NAME_DATASET_SUB_SUB, NAME_LINK_SOFT) < 0) TEST_ERROR
if(H5Glink(fid_src, H5L_TYPE_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE) < 0) TEST_ERROR
if(H5Glink2(fid_src, NAME_DATASET_SUB_SUB, H5L_TYPE_SOFT, H5G_SAME_LOC, NAME_LINK_SOFT) < 0) TEST_ERROR
if(H5Glink2(fid_src, "nowhere", H5L_TYPE_SOFT, H5G_SAME_LOC, NAME_LINK_SOFT_DANGLE) < 0) TEST_ERROR
if(H5Gclose(gid) < 0) TEST_ERROR
/* Create group to compare with */
if((gid = H5Gcreate2(fid_src, NAME_GROUP_LINK2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
if(H5Glink(fid_src, H5L_TYPE_HARD, NAME_DATASET_SUB_SUB, NAME_LINK_SOFT2) < 0) TEST_ERROR
if(H5Glink(fid_src, H5L_TYPE_SOFT, "nowhere", NAME_LINK_SOFT_DANGLE2) < 0) TEST_ERROR
if(H5Glink2(fid_src, NAME_DATASET_SUB_SUB, H5L_TYPE_HARD, H5G_SAME_LOC, NAME_LINK_SOFT2) < 0) TEST_ERROR
if(H5Glink2(fid_src, "nowhere", H5L_TYPE_SOFT, H5G_SAME_LOC, NAME_LINK_SOFT_DANGLE2) < 0) TEST_ERROR
if(H5Gclose(gid) < 0) TEST_ERROR
} /* end if */

View File

@ -859,11 +859,11 @@ static void test_links(hid_t fapl)
CHECK(gid1, FAIL, "H5Gcreate2");
/* create soft and hard links to the group "/g1". */
ret = H5Glink (gid, H5L_TYPE_SOFT, "something", "softlink");
CHECK(ret, FAIL, "H5Glink");
ret = H5Glink2(gid, "something", H5L_TYPE_SOFT, H5G_SAME_LOC, "softlink");
CHECK(ret, FAIL, "H5Glink2");
ret = H5Glink (gid, H5L_TYPE_HARD, "/g1", "hardlink");
CHECK(ret, FAIL, "H5Glink");
ret = H5Glink2(gid, "/g1", H5L_TYPE_HARD, H5G_SAME_LOC, "hardlink");
CHECK(ret, FAIL, "H5Glink2");
ret = H5Gget_num_objs(gid, &nobjs);
CHECK(ret, FAIL, "H5Gget_num_objs");

View File

@ -491,8 +491,8 @@ void test_objnames(hid_t fid, const char* string)
HDstrcpy(path_buf, GROUP2_NAME);
HDstrcat(path_buf, "/");
HDstrcat(path_buf, string);
ret = H5Glink(grp3_id, H5G_LINK_SOFT, path_buf, string);
CHECK(ret, FAIL, "H5Glink");
ret = H5Glink2(grp3_id, path_buf, H5G_LINK_SOFT, H5G_SAME_LOC, string);
CHECK(ret, FAIL, "H5Glink2");
/* Open named datatype using soft link */
type_id = H5Topen(grp3_id, string);

View File

@ -178,9 +178,9 @@ test_many(hid_t file)
/* Create a bunch of names and unlink them in order */
TESTING("forward unlink");
for (i=0; i<how_many; i++) {
for(i = 0; i < how_many; i++) {
sprintf(name, "obj_%05d", i);
if (H5Glink(work, H5L_TYPE_HARD, "/test_many_foo", name) < 0) TEST_ERROR
if(H5Glink2(work, "/test_many_foo", H5L_TYPE_HARD, H5G_SAME_LOC, name) < 0) TEST_ERROR
}
for (i=0; i<how_many; i++) {
sprintf(name, "obj_%05d", i);
@ -190,9 +190,9 @@ test_many(hid_t file)
/* Create a bunch of names and unlink them in reverse order */
TESTING("backward unlink");
for (i=0; i<how_many; i++) {
for(i = 0; i < how_many; i++) {
sprintf(name, "obj_%05d", i);
if (H5Glink(work, H5L_TYPE_HARD, "/test_many_foo", name) < 0) TEST_ERROR
if(H5Glink2(work, "/test_many_foo", H5L_TYPE_HARD, H5G_SAME_LOC, name) < 0) TEST_ERROR
}
for (i=how_many-1; i>=0; --i) {
sprintf(name, "obj_%05d", i);
@ -202,9 +202,9 @@ test_many(hid_t file)
/* Create a bunch of names and unlink them from both directions */
TESTING("inward unlink");
for (i=0; i<how_many; i++) {
for(i = 0; i < how_many; i++) {
sprintf(name, "obj_%05d", i);
if (H5Glink(work, H5L_TYPE_HARD, "/test_many_foo", name) < 0) TEST_ERROR
if(H5Glink2(work, "/test_many_foo", H5L_TYPE_HARD, H5G_SAME_LOC, name) < 0) TEST_ERROR
}
for (i=0; i<how_many; i++) {
if (i%2) {
@ -218,9 +218,9 @@ test_many(hid_t file)
/* Create a bunch of names and unlink them from the midle */
TESTING("outward unlink");
for (i=0; i<how_many; i++) {
for(i = 0; i < how_many; i++) {
sprintf(name, "obj_%05d", i);
if (H5Glink(work, H5L_TYPE_HARD, "/test_many_foo", name) < 0) TEST_ERROR
if(H5Glink2(work, "/test_many_foo", H5L_TYPE_HARD, H5G_SAME_LOC, name) < 0) TEST_ERROR
}
for (i=how_many-1; i>=0; --i) {
if (i%2) {
@ -269,7 +269,7 @@ test_symlink(hid_t file)
/* Create a test group and symlink */
if((work = H5Gcreate2(file, "/test_symlink", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
if(H5Glink(work, H5L_TYPE_SOFT, "link_value", "link") < 0) TEST_ERROR
if(H5Lcreate_soft("link_value", work, "link", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
if(H5Gunlink(work, "link") < 0) TEST_ERROR
/* Cleanup */
@ -320,8 +320,8 @@ test_rename(hid_t file)
/* Try renaming a symlink */
TESTING("symlink renaming");
if (H5Glink(work, H5L_TYPE_SOFT, "link_value", "link_one") < 0) TEST_ERROR
if (H5Gmove(work, "link_one", "link_two") < 0) TEST_ERROR
if(H5Lcreate_soft("link_value", work, "link_one", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
if(H5Gmove(work, "link_one", "link_two") < 0) TEST_ERROR
PASSED();
/* Cleanup */

View File

@ -365,8 +365,8 @@ int test_types(const char *fname)
*-------------------------------------------------------------------------
*/
status = H5Glink(fid1, H5L_TYPE_SOFT, "g1", "l1");
status = H5Glink(fid1, H5L_TYPE_SOFT, "g2", "l2");
status = H5Lcreate_soft("g1", fid1, "l1", H5P_DEFAULT, H5P_DEFAULT);
status = H5Lcreate_soft("g2", fid1, "l2", H5P_DEFAULT, H5P_DEFAULT);
/*-------------------------------------------------------------------------
* H5G_UDLINK

View File

@ -431,8 +431,8 @@ static void gent_softlink(void)
fid = H5Fcreate(FILE4, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
root = H5Gopen2(fid, "/", H5P_DEFAULT);
H5Glink (root, H5L_TYPE_SOFT, "somevalue", "slink1");
H5Glink (root, H5L_TYPE_SOFT, "linkvalue", "slink2");
H5Lcreate_soft("somevalue", root, "slink1", H5P_DEFAULT, H5P_DEFAULT);
H5Lcreate_soft("linkvalue", root, "slink2", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(root);
H5Fclose(fid);
@ -469,19 +469,19 @@ static void gent_hardlink(void)
H5Dclose(dataset);
group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Glink (group, H5L_TYPE_HARD, "/dset1", "dset2");
H5Lcreate_hard(group, "/dset1", H5L_SAME_LOC, "dset2", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Glink (group, H5L_TYPE_HARD, "/dset1", "dset3");
H5Lcreate_hard(group, "/dset1", H5L_SAME_LOC, "dset3", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gopen2(fid, "/g1", H5P_DEFAULT);
H5Glink (group, H5L_TYPE_HARD, "/g2", "g1.1");
H5Lcreate_hard(group, "/g2", H5L_SAME_LOC, "g1.1", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
/* create a link to the root group */
H5Glink (fid, H5L_TYPE_HARD, "/", "g3");
H5Lcreate_hard(fid, "/", H5L_SAME_LOC, "g3", H5P_DEFAULT, H5P_DEFAULT);
H5Fclose(fid);
}
@ -906,127 +906,126 @@ static void gent_all(void)
int i, j;
float dset2_1[10], dset2_2[3][5];
fid = H5Fcreate(FILE7, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
fid = H5Fcreate(FILE7, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/* create groups */
group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
/* create groups */
group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g1/g1.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g1/g1.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g1/g1.2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g1/g1.2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
/* root attributes */
group = H5Gopen2(fid, "/", H5P_DEFAULT);
/* root attributes */
group = H5Gopen2(fid, "/", H5P_DEFAULT);
dims[0] = 10;
space = H5Screate_simple(1, dims, NULL);
attr = H5Acreate (group, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT);
sprintf(buf, "abcdefghi");
H5Awrite(attr, H5T_NATIVE_SCHAR, buf);
H5Sclose(space);
H5Aclose(attr);
dims[0] = 10;
space = H5Screate_simple(1, dims, NULL);
attr = H5Acreate (group, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT);
sprintf(buf, "abcdefghi");
H5Awrite(attr, H5T_NATIVE_SCHAR, buf);
H5Sclose(space);
H5Aclose(attr);
dims[0] = 2; dims[1] = 2;
space = H5Screate_simple(2, dims, NULL);
attr = H5Acreate (group, "attr2", H5T_STD_I32BE, space, H5P_DEFAULT);
data[0][0] = 0; data[0][1] = 1; data[1][0] = 2; data[1][1] = 3;
H5Awrite(attr, H5T_NATIVE_INT, data);
H5Sclose(space);
H5Aclose(attr);
dims[0] = 2; dims[1] = 2;
space = H5Screate_simple(2, dims, NULL);
attr = H5Acreate (group, "attr2", H5T_STD_I32BE, space, H5P_DEFAULT);
data[0][0] = 0; data[0][1] = 1; data[1][0] = 2; data[1][1] = 3;
H5Awrite(attr, H5T_NATIVE_INT, data);
H5Sclose(space);
H5Aclose(attr);
H5Gclose(group);
H5Gclose(group);
group = H5Gopen2(fid, "/g1/g1.1", H5P_DEFAULT);
group = H5Gopen2(fid, "/g1/g1.1", H5P_DEFAULT);
/* dset1.1.1 */
dims[0] = 10; dims[1] = 10;
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate(group, "dset1.1.1", H5T_STD_I32BE, space, H5P_DEFAULT);
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
/* dset1.1.1 */
dims[0] = 10; dims[1] = 10;
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate(group, "dset1.1.1", H5T_STD_I32BE, space, H5P_DEFAULT);
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
dset1[i][j] = j*i;
H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1);
H5Sclose(space);
H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1);
H5Sclose(space);
/* attributes of dset1.1.1 */
dims[0] = 27;
space = H5Screate_simple(1, dims, NULL);
attr = H5Acreate (dataset, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT);
sprintf(buf, "1st attribute of dset1.1.1");
H5Awrite(attr, H5T_NATIVE_SCHAR, buf);
H5Sclose(space);
H5Aclose(attr);
/* attributes of dset1.1.1 */
dims[0] = 27;
space = H5Screate_simple(1, dims, NULL);
attr = H5Acreate (dataset, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT);
sprintf(buf, "1st attribute of dset1.1.1");
H5Awrite(attr, H5T_NATIVE_SCHAR, buf);
H5Sclose(space);
H5Aclose(attr);
dims[0] = 27;
space = H5Screate_simple(1, dims, NULL);
attr = H5Acreate (dataset, "attr2", H5T_STD_I8BE, space, H5P_DEFAULT);
sprintf(buf, "2nd attribute of dset1.1.1");
H5Awrite(attr, H5T_NATIVE_SCHAR, buf);
H5Sclose(space);
H5Aclose(attr);
dims[0] = 27;
space = H5Screate_simple(1, dims, NULL);
attr = H5Acreate (dataset, "attr2", H5T_STD_I8BE, space, H5P_DEFAULT);
sprintf(buf, "2nd attribute of dset1.1.1");
H5Awrite(attr, H5T_NATIVE_SCHAR, buf);
H5Sclose(space);
H5Aclose(attr);
H5Dclose(dataset);
H5Dclose(dataset);
/* dset1.1.2 */
dims[0] = 20;
space = H5Screate_simple(1, dims, NULL);
dataset = H5Dcreate(group, "dset1.1.2", H5T_STD_I32BE, space, H5P_DEFAULT);
for (i = 0; i < 20; i++)
dset2[i] = i;
H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2);
H5Sclose(space);
H5Dclose(dataset);
/* dset1.1.2 */
dims[0] = 20;
space = H5Screate_simple(1, dims, NULL);
dataset = H5Dcreate(group, "dset1.1.2", H5T_STD_I32BE, space, H5P_DEFAULT);
for (i = 0; i < 20; i++)
dset2[i] = i;
H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2);
H5Sclose(space);
H5Dclose(dataset);
H5Gclose(group);
H5Gclose(group);
/* external link */
H5Lcreate_external("somefile", "somepath", fid, "/g1/g1.2/extlink", H5P_DEFAULT, H5P_DEFAULT);
/* external link */
H5Lcreate_external("somefile", "somepath", fid, "/g1/g1.2/extlink", H5P_DEFAULT, H5P_DEFAULT);
/* soft link */
group = H5Gopen2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT);
H5Glink (group, H5L_TYPE_SOFT, "somevalue", "slink");
H5Gclose(group);
/* soft link */
group = H5Gopen2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT);
H5Lcreate_soft("somevalue", group, "slink", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gopen2(fid, "/g2", H5P_DEFAULT);
group = H5Gopen2(fid, "/g2", H5P_DEFAULT);
/* dset2.1 */
dims[0] = 10;
space = H5Screate_simple(1, dims, NULL);
dataset = H5Dcreate(group, "dset2.1", H5T_IEEE_F32BE, space, H5P_DEFAULT);
for (i = 0; i < 10; i++)
dset2_1[i] = (float)(i*0.1+1);
H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_1);
H5Sclose(space);
H5Dclose(dataset);
/* dset2.1 */
dims[0] = 10;
space = H5Screate_simple(1, dims, NULL);
dataset = H5Dcreate(group, "dset2.1", H5T_IEEE_F32BE, space, H5P_DEFAULT);
for (i = 0; i < 10; i++)
dset2_1[i] = (float)(i*0.1+1);
H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_1);
H5Sclose(space);
H5Dclose(dataset);
/* dset2.2 */
dims[0] = 3; dims[1] = 5;
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate(group, "dset2.2", H5T_IEEE_F32BE, space, H5P_DEFAULT);
for (i = 0; i < 3; i++)
for (j = 0; j < 5; j++)
/* dset2.2 */
dims[0] = 3; dims[1] = 5;
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate(group, "dset2.2", H5T_IEEE_F32BE, space, H5P_DEFAULT);
for (i = 0; i < 3; i++)
for (j = 0; j < 5; j++)
dset2_2[i][j] = (float)((i+1)*j*0.1);
H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_2);
H5Sclose(space);
H5Dclose(dataset);
H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_2);
H5Sclose(space);
H5Dclose(dataset);
H5Gclose(group);
H5Gclose(group);
/* user-defined link */
H5Lregister(UD_link_class);
H5Lcreate_ud(fid, "/g2/udlink", MY_LINKCLASS, NULL, 0, H5P_DEFAULT, H5P_DEFAULT);
H5Fclose(fid);
/* user-defined link */
H5Lregister(UD_link_class);
H5Lcreate_ud(fid, "/g2/udlink", MY_LINKCLASS, NULL, 0, H5P_DEFAULT, H5P_DEFAULT);
H5Fclose(fid);
}
/*
@ -1041,42 +1040,42 @@ o - group objects
*/
static void gent_loop(void) {
hid_t fid, group;
hid_t fid, group;
fid = H5Fcreate(FILE10, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
fid = H5Fcreate(FILE10, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
H5Glink(fid, H5L_TYPE_HARD, "/g2", "/g1/g1.1");
H5Glink(fid, H5L_TYPE_HARD, "/g1", "/g2/g2.1");
H5Lcreate_hard(fid, "/g2", H5L_SAME_LOC, "/g1/g1.1", H5P_DEFAULT, H5P_DEFAULT);
H5Lcreate_hard(fid, "/g1", H5L_SAME_LOC, "/g2/g2.1", H5P_DEFAULT, H5P_DEFAULT);
H5Fclose(fid);
H5Fclose(fid);
}
static void gent_loop2(void) {
hid_t fid, group;
static void gent_loop2(void)
{
hid_t fid, group;
fid = H5Fcreate(FILE11, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
fid = H5Fcreate(FILE11, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/* create group object g1 and implcit path from root object */
group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
/* create group object g1 and implcit path from root object */
group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
/* create group object g2 and implcit path from root object */
group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
/* create group object g2 and implcit path from root object */
group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
/* create path from object at /g1 to object at /g2 and name it g1.1 */
H5Glink (fid, H5L_TYPE_HARD, "/g2", "/g1/g1.1");
/* create path from object at /g1 to object at /g2 and name it g1.1 */
H5Lcreate_hard(fid, "/g2", H5L_SAME_LOC, "/g1/g1.1", H5P_DEFAULT, H5P_DEFAULT);
/* create path from object at /g2 to object at /g1 and name it g2.1 */
H5Glink (fid, H5L_TYPE_SOFT, "/g1", "/g2/g2.1");
H5Fclose(fid);
/* create path from object at /g2 to object at /g1 and name it g2.1 */
H5Lcreate_soft("/g1", fid, "/g2/g2.1", H5P_DEFAULT, H5P_DEFAULT);
H5Fclose(fid);
}
/*
@ -1215,11 +1214,11 @@ static void gent_many(void)
H5Gclose(group);
group = H5Gcreate2(fid, "/g1/g1.2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Glink (group, H5L_TYPE_HARD, "/g1/g1.1/dset1", "link1");
H5Lcreate_hard(group, "/g1/g1.1/dset1", H5L_SAME_LOC, "link1", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Glink (group, H5L_TYPE_SOFT, "/g1", "slink2");
H5Lcreate_soft("/g1", group, "slink2", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
@ -1243,7 +1242,7 @@ static void gent_many(void)
H5Gclose(group);
group = H5Gopen2(fid, "/g3", H5P_DEFAULT);
H5Glink (group, H5L_TYPE_HARD, "/g4/dset2", "link3");
H5Lcreate_hard(group, "/g4/dset2", H5L_SAME_LOC, "link3", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gcreate2(fid, "/g5", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
@ -1266,7 +1265,7 @@ static void gent_many(void)
H5Gclose(group);
group = H5Gopen2(fid, "/g5", H5P_DEFAULT);
H5Glink (group, H5L_TYPE_SOFT, "/g6/dset3", "slink4");
H5Lcreate_soft("/g6/dset3", group, "slink4", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
H5Pclose(create_plist);
@ -1281,9 +1280,9 @@ static void gent_many(void)
H5Lcreate_ud(fid, "/g8/udlink", MY_LINKCLASS, NULL, 0, H5P_DEFAULT, H5P_DEFAULT);
/* Create links to external and UD links */
ret= H5Glink (fid, H5L_TYPE_SOFT, "/g8/elink", "/g7/slink5");
ret= H5Lcreate_soft("/g8/elink", fid, "/g7/slink5", H5P_DEFAULT, H5P_DEFAULT);
HDassert(ret >= 0);
ret= H5Glink (fid, H5L_TYPE_SOFT, "/g8/udlink", "/g7/slink6");
ret= H5Lcreate_soft("/g8/udlink", fid, "/g7/slink6", H5P_DEFAULT, H5P_DEFAULT);
HDassert(ret >= 0);
H5Fclose(fid);
@ -5010,39 +5009,39 @@ static void gent_fcontents(void)
/* hard link to "dset" */
gid1 = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Glink (gid1, H5L_TYPE_HARD, "/dset", "dset1");
H5Lcreate_hard(gid1, "/dset", H5L_SAME_LOC, "dset1", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(gid1);
/* hard link to "dset" */
gid1 = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Glink (gid1, H5L_TYPE_HARD, "/dset", "dset2");
H5Lcreate_hard(gid1, "/dset", H5L_SAME_LOC, "dset2", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(gid1);
/* hard link to "g2" */
gid1 = H5Gopen2(fid, "/g1", H5P_DEFAULT);
H5Glink (gid1, H5L_TYPE_HARD, "/g2", "g1.1");
H5Lcreate_hard(gid1, "/g2", H5L_SAME_LOC, "g1.1", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(gid1);
/* hard link to "dset" */
ret=H5Glink (fid, H5L_TYPE_HARD, "/dset", "dset3");
ret=H5Lcreate_hard(fid, "/dset", H5L_SAME_LOC, "dset3", H5P_DEFAULT, H5P_DEFAULT);
assert(ret>=0);
/* hard link to "dset" */
ret=H5Glink (fid, H5L_TYPE_HARD, "/dset", "dset4");
ret=H5Lcreate_hard(fid, "/dset", H5L_SAME_LOC, "dset4", H5P_DEFAULT, H5P_DEFAULT);
assert(ret>=0);
/* soft link to itself */
ret=H5Glink (fid, H5L_TYPE_SOFT, "mylink", "mylink");
ret=H5Lcreate_soft("mylink", fid, "mylink", H5P_DEFAULT, H5P_DEFAULT);
assert(ret>=0);
/* soft link to "dset" */
ret=H5Glink (fid, H5L_TYPE_SOFT, "/dset", "softlink");
ret=H5Lcreate_soft("/dset", fid, "softlink", H5P_DEFAULT, H5P_DEFAULT);
assert(ret>=0);
/* dangling external link */

View File

@ -271,7 +271,7 @@ gent_ub(const char * filename, size_t ub_size, size_t ub_fill)
/* soft link */
group = H5Gopen2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT);
H5Glink (group, H5L_TYPE_SOFT, "somevalue", "slink");
H5Lcreate_soft("somevalue", group, "slink", H5P_DEFAULT, H5P_DEFAULT);
H5Gclose(group);
group = H5Gopen2(fid, "/g2", H5P_DEFAULT);

View File

@ -111,8 +111,7 @@ int do_copy_refobjs(hid_t fidin,
if(travt->objs[i].nlinks)
for(j = 0; j < travt->objs[i].nlinks; j++)
H5Glink(fidout, H5G_LINK_HARD, travt->objs[i].name, travt->objs[i].links[j].new_name);
H5Lcreate_hard(fidout, travt->objs[i].name, H5L_SAME_LOC, travt->objs[i].links[j].new_name, H5P_DEFAULT, H5P_DEFAULT);
break;
/*-------------------------------------------------------------------------
@ -343,7 +342,7 @@ int do_copy_refobjs(hid_t fidin,
*/
if(travt->objs[i].nlinks)
for(j = 0; j < travt->objs[i].nlinks; j++)
H5Glink(fidout, H5G_LINK_HARD, travt->objs[i].name, travt->objs[i].links[j].new_name);
H5Lcreate_hard(fidout, travt->objs[i].name, H5L_SAME_LOC, travt->objs[i].links[j].new_name, H5P_DEFAULT, H5P_DEFAULT);
if(H5Dclose(dset_out)<0)
goto error;

View File

@ -1591,7 +1591,7 @@ int make_all_objects(hid_t loc_id)
*-------------------------------------------------------------------------
*/
H5Glink(loc_id, H5L_TYPE_SOFT, "dset", "link");
H5Lcreate_soft("dset", loc_id, "link", H5P_DEFAULT, H5P_DEFAULT);
/*-------------------------------------------------------------------------
* H5G_UDLINK
@ -1684,13 +1684,13 @@ int make_hlinks(hid_t loc_id)
*-------------------------------------------------------------------------
*/
if(write_dset(loc_id,2,dims,"dset",H5T_NATIVE_INT,buf)<0)
if(write_dset(loc_id, 2, dims, "dset", H5T_NATIVE_INT, buf) < 0)
return -1;
if(H5Glink(loc_id, H5L_TYPE_HARD, "dset", "link1 to dset")<0)
if(H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link1 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0)
return -1;
if(H5Glink(loc_id, H5L_TYPE_HARD, "dset", "link2 to dset")<0)
if(H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link2 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0)
return -1;
if(H5Glink(loc_id, H5L_TYPE_HARD, "dset", "link3 to dset")<0)
if(H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link3 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0)
return -1;
@ -2860,7 +2860,7 @@ void write_dset_in(hid_t loc_id,
/* create hard link */
status = H5Glink(loc_id, H5L_TYPE_HARD, "string", "string_link");
status = H5Lcreate_hard(loc_id, "string", H5L_SAME_LOC, "string_link", H5P_DEFAULT, H5P_DEFAULT);
/*-------------------------------------------------------------------------
* H5T_BITFIELD