[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:
Quincey Koziol 2007-10-04 13:32:47 -05:00
parent d4eec753a1
commit 3db40827da
10 changed files with 44 additions and 31 deletions

View File

@ -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");
}
}

View File

@ -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) {

View File

@ -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:

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -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");

View File

@ -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 */

View File

@ -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 */

View File

@ -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)