mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-19 16:50:46 +08:00
[svn-r14184] Description:
Move H5Aopen_idx() into deprecated symbols section, replacing all internal usage with H5Aopen_by_idx(). Add simple regression test for H5Aopen_idx(). Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
This commit is contained in:
parent
d4eec753a1
commit
3db40827da
@ -173,7 +173,7 @@ Attribute H5Object::openAttribute( const H5std_string& name ) const
|
||||
//--------------------------------------------------------------------------
|
||||
Attribute H5Object::openAttribute( const unsigned int idx ) const
|
||||
{
|
||||
hid_t attr_id = H5Aopen_idx( id, idx );
|
||||
hid_t attr_id = H5Aopen_by_idx(id, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)idx, H5P_DEFAULT, H5P_DEFAULT);
|
||||
if( attr_id > 0 )
|
||||
{
|
||||
Attribute attr( attr_id );
|
||||
@ -181,7 +181,7 @@ Attribute H5Object::openAttribute( const unsigned int idx ) const
|
||||
}
|
||||
else
|
||||
{
|
||||
throw AttributeIException(inMemFunc("openAttribute"), "H5Aopen_idx failed");
|
||||
throw AttributeIException(inMemFunc("openAttribute"), "H5Aopen_by_idx failed");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -194,7 +194,7 @@ main (void)
|
||||
*/
|
||||
ret = H5Oget_info(dataset, ".", &oinfo, H5P_DEFAULT);
|
||||
for(i = 0; i < (unsigned)oinfo.num_attrs; i++) {
|
||||
attr = H5Aopen_idx(dataset, i);
|
||||
attr = H5Aopen_by_idx(dataset, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)i, H5P_DEFAULT, H5P_DEFAULT);
|
||||
atype = H5Aget_type(attr);
|
||||
type_class = H5Tget_class(atype);
|
||||
if (type_class == H5T_STRING) {
|
||||
|
@ -847,7 +847,7 @@ done:
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5aopen_idx_c
|
||||
* Purpose: Call H5Aopen_idx to open an attribute
|
||||
* Purpose: Call H5Aopen_by_idx to open an attribute
|
||||
* Inputs: obj_id - object identifier
|
||||
* idx - attribute index ( zero based)
|
||||
* Outputs: attr_id - attribute identifier
|
||||
@ -859,12 +859,12 @@ done:
|
||||
int_f
|
||||
nh5aopen_idx_c (hid_t_f *obj_id, int_f *idx, hid_t_f *attr_id)
|
||||
{
|
||||
int_f ret_value=0; /* Return value */
|
||||
int_f ret_value = 0; /* Return value */
|
||||
|
||||
/*
|
||||
* Call H5Aopen_idx function.
|
||||
* Call H5Aopen_by_idx function.
|
||||
*/
|
||||
if ((*attr_id = (hid_t_f)H5Aopen_idx((hid_t)*obj_id, (unsigned)*idx)) < 0)
|
||||
if((*attr_id = (hid_t_f)H5Aopen_by_idx((hid_t)*obj_id, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)*idx, H5P_DEFAULT, H5P_DEFAULT)) < 0)
|
||||
HGOTO_DONE(FAIL);
|
||||
|
||||
done:
|
||||
|
@ -220,6 +220,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Aopen_name() */
|
||||
|
||||
#ifndef H5_NO_DEPRECATED_SYMBOLS
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
NAME
|
||||
@ -240,6 +241,8 @@ done:
|
||||
H5Aclose or resource leaks will develop.
|
||||
The location object may be either a group or a dataset, both of
|
||||
which may have any sort of attribute.
|
||||
NOTE
|
||||
Deprecated in favor of H5Aopen_by_idx
|
||||
--------------------------------------------------------------------------*/
|
||||
hid_t
|
||||
H5Aopen_idx(hid_t loc_id, unsigned idx)
|
||||
@ -274,7 +277,6 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Aopen_idx() */
|
||||
|
||||
#ifndef H5_NO_DEPRECATED_SYMBOLS
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
NAME
|
||||
@ -291,6 +293,8 @@ done:
|
||||
DESCRIPTION
|
||||
This function returns the number of attributes attached to a dataset or
|
||||
group, 'location_id'.
|
||||
NOTE
|
||||
Deprecated in favor of H5Oget_info
|
||||
--------------------------------------------------------------------------*/
|
||||
int
|
||||
H5Aget_num_attrs(hid_t loc_id)
|
||||
|
@ -83,7 +83,6 @@ H5_DLL herr_t H5Adelete_by_idx(hid_t loc_id, const char *obj_name,
|
||||
H5_DLL hid_t H5Acreate(hid_t loc_id, const char *name, hid_t type_id,
|
||||
hid_t space_id, hid_t plist_id);
|
||||
H5_DLL hid_t H5Aopen_name(hid_t loc_id, const char *name);
|
||||
H5_DLL hid_t H5Aopen_idx(hid_t loc_id, unsigned idx);
|
||||
|
||||
/* Symbols defined for compatibility with previous versions of the HDF5 API.
|
||||
*
|
||||
@ -102,6 +101,7 @@ typedef herr_t (*H5A_operator1_t)(hid_t location_id/*in*/,
|
||||
|
||||
|
||||
/* Function prototypes */
|
||||
H5_DLL hid_t H5Aopen_idx(hid_t loc_id, unsigned idx);
|
||||
H5_DLL int H5Aget_num_attrs(hid_t loc_id);
|
||||
H5_DLL herr_t H5Adelete1(hid_t loc_id, const char *name);
|
||||
H5_DLL herr_t H5Arename1(hid_t loc_id, const char *old_name, const char *new_name);
|
||||
|
@ -789,7 +789,7 @@ compare_std_attributes(hid_t oid, hid_t oid2, hid_t pid)
|
||||
|
||||
/* Check the attributes are equal */
|
||||
for(i = 0; i < (unsigned)oinfo1.num_attrs; i++) {
|
||||
if((aid = H5Aopen_idx(oid, i)) < 0) TEST_ERROR
|
||||
if((aid = H5Aopen_by_idx(oid, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)i, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
|
||||
if(H5Aget_name(aid, ATTR_NAME_LEN, attr_name) < 0) TEST_ERROR
|
||||
|
||||
if((aid2 = H5Aopen_name(oid2, attr_name)) < 0) TEST_ERROR
|
||||
@ -3945,8 +3945,8 @@ test_copy_attribute_vl(hid_t fcpl_src, hid_t fcpl_dst, hid_t fapl)
|
||||
|
||||
/* Check if the attributes are equal */
|
||||
|
||||
if((aid = H5Aopen_idx(did, 0)) < 0) TEST_ERROR
|
||||
if((aid2 = H5Aopen_idx(did2, 0)) < 0) TEST_ERROR
|
||||
if((aid = H5Aopen_by_idx(did, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)0, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
|
||||
if((aid2 = H5Aopen_by_idx(did2, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)0, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
|
||||
if(compare_attribute(aid, aid2, H5P_DEFAULT, NULL, did) != TRUE) TEST_ERROR
|
||||
if(H5Aclose(aid) < 0) TEST_ERROR
|
||||
if(H5Aclose(aid2) < 0) TEST_ERROR
|
||||
|
41
test/tattr.c
41
test/tattr.c
@ -786,8 +786,8 @@ test_attr_compound_read(hid_t fapl)
|
||||
VERIFY(oinfo.num_attrs, 1, "H5Oget_info");
|
||||
|
||||
/* Open 1st attribute for the dataset */
|
||||
attr = H5Aopen_idx(dataset, 0);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
attr = H5Aopen_by_idx(dataset, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)0, H5P_DEFAULT, H5P_DEFAULT);
|
||||
CHECK(attr, FAIL, "H5Aopen_by_idx");
|
||||
|
||||
/* Verify Dataspace */
|
||||
space = H5Aget_space(attr);
|
||||
@ -1191,8 +1191,8 @@ test_attr_mult_read(hid_t fapl)
|
||||
VERIFY(oinfo.num_attrs, 3, "H5Oget_info");
|
||||
|
||||
/* Open 1st attribute for the dataset */
|
||||
attr = H5Aopen_idx(dataset, (unsigned)0);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
attr = H5Aopen_by_idx(dataset, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)0, H5P_DEFAULT, H5P_DEFAULT);
|
||||
CHECK(attr, FAIL, "H5Aopen_by_idx");
|
||||
|
||||
/* Verify Dataspace */
|
||||
space = H5Aget_space(attr);
|
||||
@ -1244,8 +1244,8 @@ test_attr_mult_read(hid_t fapl)
|
||||
CHECK(ret, FAIL, "H5Aclose");
|
||||
|
||||
/* Open 2nd attribute for the dataset */
|
||||
attr = H5Aopen_idx(dataset, (unsigned)1);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
attr = H5Aopen_by_idx(dataset, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)1, H5P_DEFAULT, H5P_DEFAULT);
|
||||
CHECK(attr, FAIL, "H5Aopen_by_idx");
|
||||
|
||||
/* Verify Dataspace */
|
||||
space = H5Aget_space(attr);
|
||||
@ -1300,8 +1300,8 @@ test_attr_mult_read(hid_t fapl)
|
||||
CHECK(ret, FAIL, "H5Aclose");
|
||||
|
||||
/* Open 2nd attribute for the dataset */
|
||||
attr = H5Aopen_idx(dataset, (unsigned)2);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
attr = H5Aopen_by_idx(dataset, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)2, H5P_DEFAULT, H5P_DEFAULT);
|
||||
CHECK(attr, FAIL, "H5Aopen_by_idx");
|
||||
|
||||
/* Verify Dataspace */
|
||||
space = H5Aget_space(attr);
|
||||
@ -1531,8 +1531,8 @@ test_attr_delete(hid_t fapl)
|
||||
VERIFY(oinfo.num_attrs, 2, "H5Oget_info");
|
||||
|
||||
/* Open 1st attribute for the dataset */
|
||||
attr = H5Aopen_idx(dataset, 0);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
attr = H5Aopen_by_idx(dataset, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)0, H5P_DEFAULT, H5P_DEFAULT);
|
||||
CHECK(attr, FAIL, "H5Aopen_by_idx");
|
||||
|
||||
/* Verify Name */
|
||||
name_len = H5Aget_name(attr, (size_t)ATTR_NAME_LEN,attr_name);
|
||||
@ -1545,8 +1545,8 @@ test_attr_delete(hid_t fapl)
|
||||
CHECK(ret, FAIL, "H5Aclose");
|
||||
|
||||
/* Open last (formally 3rd) attribute for the dataset */
|
||||
attr = H5Aopen_idx(dataset, 1);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
attr = H5Aopen_by_idx(dataset, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)1, H5P_DEFAULT, H5P_DEFAULT);
|
||||
CHECK(attr, FAIL, "H5Aopen_by_idx");
|
||||
|
||||
/* Verify Name */
|
||||
name_len = H5Aget_name(attr, (size_t)ATTR_NAME_LEN, attr_name);
|
||||
@ -1568,8 +1568,8 @@ test_attr_delete(hid_t fapl)
|
||||
VERIFY(oinfo.num_attrs, 1, "H5Oget_info");
|
||||
|
||||
/* Open last (formally 3rd) attribute for the dataset */
|
||||
attr = H5Aopen_idx(dataset, 0);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
attr = H5Aopen_by_idx(dataset, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)0, H5P_DEFAULT, H5P_DEFAULT);
|
||||
CHECK(attr, FAIL, "H5Aopen_by_idx");
|
||||
|
||||
/* Verify Name */
|
||||
name_len = H5Aget_name(attr, (size_t)ATTR_NAME_LEN, attr_name);
|
||||
@ -1819,8 +1819,8 @@ test_attr_dense_verify(hid_t loc_id, unsigned max_attr)
|
||||
char check_name[ATTR_NAME_LEN]; /* Buffer for checking attribute names */
|
||||
|
||||
/* Open attribute */
|
||||
attr = H5Aopen_idx(loc_id, u);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
attr = H5Aopen_by_idx(loc_id, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)u, H5P_DEFAULT, H5P_DEFAULT);
|
||||
CHECK(attr, FAIL, "H5Aopen_by_idx");
|
||||
|
||||
/* Verify Name */
|
||||
sprintf(attrname, "attr %02u", u);
|
||||
@ -3307,6 +3307,15 @@ test_attr_deprec(hid_t fcpl, hid_t fapl)
|
||||
ret = H5Aget_num_attrs(dataset);
|
||||
VERIFY(ret, 1, "H5Aget_num_attrs");
|
||||
|
||||
/* Open the attribute */
|
||||
attr = H5Aopen_idx(dataset, 0);
|
||||
CHECK(attr, FAIL, "H5Aopen_idx");
|
||||
|
||||
/* Close attribute */
|
||||
ret = H5Aclose(attr);
|
||||
CHECK(ret, FAIL, "H5Aclose");
|
||||
|
||||
|
||||
/* Rename attribute */
|
||||
ret = H5Arename1(dataset, "attr", "attr2");
|
||||
CHECK(ret, FAIL, "H5Arename1");
|
||||
|
@ -919,7 +919,7 @@ int copy_attr(hid_t loc_in,
|
||||
buf=NULL;
|
||||
|
||||
/* open attribute */
|
||||
if ((attr_id = H5Aopen_idx(loc_in, u))<0)
|
||||
if((attr_id = H5Aopen_by_idx(loc_in, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)u, H5P_DEFAULT, H5P_DEFAULT)) < 0)
|
||||
goto error;
|
||||
|
||||
/* get name */
|
||||
|
@ -431,7 +431,7 @@ static int copy_refs_attr(hid_t loc_in,
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
/* open attribute */
|
||||
if((attr_id = H5Aopen_idx(loc_in, u)) < 0)
|
||||
if((attr_id = H5Aopen_by_idx(loc_in, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)u, H5P_DEFAULT, H5P_DEFAULT)) < 0)
|
||||
goto error;
|
||||
|
||||
/* get name */
|
||||
|
@ -86,7 +86,7 @@ hsize_t diff_attr(hid_t loc1_id,
|
||||
buf2 = NULL;
|
||||
|
||||
/* open attribute */
|
||||
if((attr1_id = H5Aopen_idx(loc1_id, u)) < 0)
|
||||
if((attr1_id = H5Aopen_by_idx(loc1_id, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)u, H5P_DEFAULT, H5P_DEFAULT)) < 0)
|
||||
goto error;
|
||||
/* get name */
|
||||
if(H5Aget_name(attr1_id, 255, name1) < 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user