summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-10-30 16:07:20 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-10-30 16:07:20 (GMT)
commitdbff4af21c57cfd14f7f35a6799faad5087c0867 (patch)
treece015ab8b594886613d43fd5bc5b4b6a5017fdc3
parentaaddd739b4a3ebaf7d61a2c60dd4c3d9a08e0654 (diff)
downloadhdf5-dbff4af21c57cfd14f7f35a6799faad5087c0867.zip
hdf5-dbff4af21c57cfd14f7f35a6799faad5087c0867.tar.gz
hdf5-dbff4af21c57cfd14f7f35a6799faad5087c0867.tar.bz2
[svn-r14217] Description:
Change H5Aopen -> H5Aopen_by_name, in order to be more consistent with other new API routines. Re-add H5Aopen as a simpler routine, to open attributes on a particular object. (Much like the old H5Aopen_name routine). 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
-rw-r--r--c++/src/H5Object.cpp2
-rw-r--r--examples/Attributes.txt4
-rw-r--r--examples/h5_attribute.c4
-rw-r--r--fortran/src/H5Af.c2
-rw-r--r--hl/fortran/src/H5IMcc.c2
-rw-r--r--hl/src/H5DS.c26
-rw-r--r--hl/src/H5IM.c18
-rw-r--r--hl/src/H5LT.c8
-rw-r--r--src/H5A.c68
-rw-r--r--src/H5Apublic.h5
-rw-r--r--test/dangle.c2
-rwxr-xr-xtest/objcopy.c2
-rw-r--r--test/tattr.c109
-rw-r--r--test/th5s.c2
-rw-r--r--test/tmisc.c2
-rw-r--r--test/tsohm.c6
-rw-r--r--test/ttsafe_acreate.c2
-rw-r--r--test/tvlstr.c4
-rw-r--r--testpar/t_mdset.c6
-rw-r--r--tools/h5dump/h5dump.c6
-rw-r--r--tools/h5ls/h5ls.c2
-rw-r--r--tools/lib/h5diff_attr.c2
22 files changed, 201 insertions, 83 deletions
diff --git a/c++/src/H5Object.cpp b/c++/src/H5Object.cpp
index 0b6c20e..70ec66e 100644
--- a/c++/src/H5Object.cpp
+++ b/c++/src/H5Object.cpp
@@ -137,7 +137,7 @@ Attribute H5Object::createAttribute( const H5std_string& name, const DataType& d
//--------------------------------------------------------------------------
Attribute H5Object::openAttribute( const char* name ) const
{
- hid_t attr_id = H5Aopen( id, ".", name, H5P_DEFAULT, H5P_DEFAULT );
+ hid_t attr_id = H5Aopen( id, name, H5P_DEFAULT );
if( attr_id > 0 )
{
Attribute attr( attr_id );
diff --git a/examples/Attributes.txt b/examples/Attributes.txt
index 299451b..50881b9 100644
--- a/examples/Attributes.txt
+++ b/examples/Attributes.txt
@@ -88,7 +88,7 @@ H5Aread Example: Attach to an attribute of a dataset and read in attr. data
dataset=H5Dopen2(file, "Dataset1", H5P_DEFAULT);
/* Get the OID of the attribute */
- attr=H5Aopen(dataset, ".", "Attr1", H5P_DEFAULT, H5P_DEFAULT);
+ attr=H5Aopen(dataset, "Attr1", H5P_DEFAULT);
/* Read attribute */
H5Aread(attr,H5T_INT32,attr_data);
@@ -120,7 +120,7 @@ H5Alink Example: Shows how to share an attribute between two datasets.
dataset2=H5Dopen2(file, "Dataset2", H5P_DEFAULT);
/* Get the OID of the attribute */
- attr=H5Aopen(dataset1, ".", "Foo", H5P_DEFAULT, H5P_DEFAULT);
+ attr=H5Aopen(dataset1, "Foo", H5P_DEFAULT);
/*
* Create an attribute in the second dataset to the attribute in dataset1,
diff --git a/examples/h5_attribute.c b/examples/h5_attribute.c
index e26ed6e..f34f771 100644
--- a/examples/h5_attribute.c
+++ b/examples/h5_attribute.c
@@ -184,7 +184,7 @@ main (void)
* Attach to the scalar attribute using attribute name, then read and
* display its value.
*/
- attr = H5Aopen(dataset, ".", "Integer attribute", H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, "Integer attribute", H5P_DEFAULT);
ret = H5Aread(attr, H5T_NATIVE_INT, &point_out);
printf("The value of the attribute \"Integer attribute\" is %d \n", point_out);
ret = H5Aclose(attr);
@@ -241,7 +241,7 @@ attr_info(hid_t loc_id, const char *name, const H5A_info_t *ainfo, void *opdata)
/*
* Open the attribute using its name.
*/
- attr = H5Aopen(loc_id, ".", name, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(loc_id, name, H5P_DEFAULT);
/*
* Display attribute name.
diff --git a/fortran/src/H5Af.c b/fortran/src/H5Af.c
index 76e7d89..d711102 100644
--- a/fortran/src/H5Af.c
+++ b/fortran/src/H5Af.c
@@ -85,7 +85,7 @@ nh5aopen_name_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_id
/*
* Call H5Aopen function.
*/
- if((*attr_id = (hid_t_f)H5Aopen((hid_t)*obj_id, ".", c_name, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((*attr_id = (hid_t_f)H5Aopen((hid_t)*obj_id, c_name, H5P_DEFAULT)) < 0)
HGOTO_DONE(FAIL);
done:
diff --git a/hl/fortran/src/H5IMcc.c b/hl/fortran/src/H5IMcc.c
index 651c60b..e33edb1 100644
--- a/hl/fortran/src/H5IMcc.c
+++ b/hl/fortran/src/H5IMcc.c
@@ -485,7 +485,7 @@ herr_t H5IM_get_palette(hid_t loc_id,
if(has_pal == 1)
{
- if((attr_id = H5Aopen(image_id, ".", "PALETTE", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(image_id, "PALETTE", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
diff --git a/hl/src/H5DS.c b/hl/src/H5DS.c
index 070ab23..f8527fd 100644
--- a/hl/src/H5DS.c
+++ b/hl/src/H5DS.c
@@ -297,7 +297,7 @@ herr_t H5DSattach_scale(hid_t did,
else if ( has_dimlist == 1 )
{
- if((aid = H5Aopen(did, ".", DIMENSION_LIST, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, DIMENSION_LIST, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
@@ -450,7 +450,7 @@ herr_t H5DSattach_scale(hid_t did,
else if(has_reflist == 1)
{
- if((aid = H5Aopen(dsid, ".", REFERENCE_LIST, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(dsid, REFERENCE_LIST, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
@@ -674,7 +674,7 @@ herr_t H5DSdetach_scale(hid_t did,
*-------------------------------------------------------------------------
*/
- if((aid = H5Aopen(did, ".", DIMENSION_LIST, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, DIMENSION_LIST, H5P_DEFAULT)) < 0)
return FAIL;
if((tid = H5Aget_type(aid)) < 0)
@@ -758,7 +758,7 @@ herr_t H5DSdetach_scale(hid_t did,
*-------------------------------------------------------------------------
*/
- if((aid = H5Aopen(dsid, ".", REFERENCE_LIST, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(dsid, REFERENCE_LIST, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
@@ -1019,7 +1019,7 @@ htri_t H5DSis_attached(hid_t did,
if(has_dimlist == 1)
{
- if((aid = H5Aopen(did, ".", DIMENSION_LIST, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, DIMENSION_LIST, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
@@ -1096,7 +1096,7 @@ htri_t H5DSis_attached(hid_t did,
if(has_reflist == 1)
{
- if((aid = H5Aopen(dsid, ".", REFERENCE_LIST, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(dsid, REFERENCE_LIST, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
@@ -1278,7 +1278,7 @@ herr_t H5DSiterate_scales(hid_t did,
else if(has_dimlist == 1)
{
- if((aid = H5Aopen(did, ".", DIMENSION_LIST, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, DIMENSION_LIST, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
goto out;
@@ -1488,7 +1488,7 @@ herr_t H5DSset_label(hid_t did,
else
{
- if((aid = H5Aopen(did, ".", DIMENSION_LABELS, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, DIMENSION_LABELS, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
@@ -1614,7 +1614,7 @@ ssize_t H5DSget_label(hid_t did,
*/
assert (has_labels == 1);
- if((aid = H5Aopen(did, ".", DIMENSION_LABELS, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, DIMENSION_LABELS, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
@@ -1730,7 +1730,7 @@ ssize_t H5DSget_scale_name(hid_t did,
*-------------------------------------------------------------------------
*/
- if((aid = H5Aopen(did, ".", "NAME", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, "NAME", H5P_DEFAULT)) < 0)
return FAIL;
/* get space */
@@ -1839,7 +1839,7 @@ htri_t H5DSis_scale(hid_t did)
else
{
- if((aid = H5Aopen(did, ".", "CLASS", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, "CLASS", H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
@@ -1950,7 +1950,7 @@ int H5DSget_num_scales(hid_t did,
else
{
- if((aid = H5Aopen(did, ".", DIMENSION_LIST, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, DIMENSION_LIST, H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
goto out;
@@ -2029,7 +2029,7 @@ herr_t H5DS_is_reserved(hid_t did)
return 0;
assert(has_class == 1);
- if((aid = H5Aopen(did, ".", "CLASS", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(did, "CLASS", H5P_DEFAULT)) < 0)
goto out;
if((tid = H5Aget_type(aid)) < 0)
diff --git a/hl/src/H5IM.c b/hl/src/H5IM.c
index 1405f8d..cf2ea80 100644
--- a/hl/src/H5IM.c
+++ b/hl/src/H5IM.c
@@ -263,7 +263,7 @@ herr_t H5IMget_image_info( hid_t loc_id,
if(has_attr == 1)
{
- if((attr_id = H5Aopen(did, ".", "INTERLACE_MODE", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(did, "INTERLACE_MODE", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
@@ -332,7 +332,7 @@ herr_t H5IMget_image_info( hid_t loc_id,
if(has_pal == 1)
{
- if((attr_id = H5Aopen(did, ".", "PALETTE", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(did, "PALETTE", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
@@ -574,7 +574,7 @@ herr_t H5IMlink_palette( hid_t loc_id,
*/
else if(ok_pal == 1)
{
- if((attr_id = H5Aopen(image_id, ".", "PALETTE", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(image_id, "PALETTE", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
@@ -707,7 +707,7 @@ herr_t H5IMunlink_palette( hid_t loc_id,
/* The attribute exists, open it */
else if(ok_pal == 1)
{
- if((attr_id = H5Aopen(image_id, ".", "PALETTE", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(image_id, "PALETTE", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
@@ -789,7 +789,7 @@ herr_t H5IMget_npalettes( hid_t loc_id,
if(has_pal == 1 )
{
- if((attr_id = H5Aopen(image_id, ".", "PALETTE", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(image_id, "PALETTE", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
@@ -881,7 +881,7 @@ herr_t H5IMget_palette_info( hid_t loc_id,
if(has_pal == 1)
{
- if((attr_id = H5Aopen(image_id, ".", "PALETTE", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(image_id, "PALETTE", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
@@ -993,7 +993,7 @@ herr_t H5IMget_palette( hid_t loc_id,
if(has_pal == 1 )
{
- if((attr_id = H5Aopen(image_id, ".", "PALETTE", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(image_id, "PALETTE", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
@@ -1098,7 +1098,7 @@ herr_t H5IMis_image( hid_t loc_id,
else if(has_class == 1)
{
- if((attr_id = H5Aopen(did, ".", "CLASS", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(did, "CLASS", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
@@ -1183,7 +1183,7 @@ herr_t H5IMis_palette( hid_t loc_id,
else if(has_class == 1)
{
- if((attr_id = H5Aopen(did, ".", "CLASS", H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(did, "CLASS", H5P_DEFAULT)) < 0)
goto out;
if((attr_type = H5Aget_type(attr_id)) < 0)
diff --git a/hl/src/H5LT.c b/hl/src/H5LT.c
index ca56d69..9b58b46 100644
--- a/hl/src/H5LT.c
+++ b/hl/src/H5LT.c
@@ -1456,7 +1456,7 @@ herr_t H5LTget_attribute_ndims( hid_t loc_id,
return -1;
/* Open the attribute. */
- if((attr_id = H5Aopen(obj_id, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(obj_id, attr_name, H5P_DEFAULT)) < 0)
{
H5Oclose(obj_id);
return -1;
@@ -1523,7 +1523,7 @@ herr_t H5LTget_attribute_info( hid_t loc_id,
return -1;
/* Open the attribute. */
- if((attr_id = H5Aopen(obj_id, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(obj_id, attr_name, H5P_DEFAULT)) < 0)
{
H5Oclose(obj_id);
return -1;
@@ -2733,7 +2733,7 @@ static herr_t H5LT_get_attribute_mem(hid_t loc_id,
if((obj_id = H5Oopen(loc_id, obj_name, H5P_DEFAULT)) < 0)
goto out;
- if((attr_id = H5Aopen(obj_id, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr_id = H5Aopen(obj_id, attr_name, H5P_DEFAULT)) < 0)
goto out;
if(H5Aread(attr_id, mem_type_id, data) < 0)
@@ -2782,7 +2782,7 @@ herr_t H5LT_get_attribute_disk( hid_t loc_id,
hid_t attr_id;
hid_t attr_type;
- if(( attr_id = H5Aopen(loc_id, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if(( attr_id = H5Aopen(loc_id, attr_name, H5P_DEFAULT)) < 0)
return -1;
if((attr_type = H5Aget_type(attr_id)) < 0)
diff --git a/src/H5A.c b/src/H5A.c
index 7f0d7ed..5ba6ccf 100644
--- a/src/H5A.c
+++ b/src/H5A.c
@@ -439,7 +439,67 @@ done:
PURPOSE
Opens an attribute for an object by looking up the attribute name
USAGE
- hid_t H5Aopen(loc_id, obj_name, attr_name, aapl_id, lapl_id)
+ hid_t H5Aopen(loc_id, attr_name, aapl_id)
+ hid_t loc_id; IN: Object that attribute is attached to
+ const char *attr_name; IN: Name of attribute to locate and open
+ hid_t aapl_id; IN: Attribute access property list
+ RETURNS
+ ID of attribute on success, negative on failure
+
+ DESCRIPTION
+ This function opens an existing attribute for access. The attribute
+ name specified is used to look up the corresponding attribute for the
+ object. The attribute ID returned from this function must be released with
+ H5Aclose or resource leaks will develop.
+--------------------------------------------------------------------------*/
+hid_t
+H5Aopen(hid_t loc_id, const char *attr_name, hid_t UNUSED aapl_id)
+{
+ H5G_loc_t loc; /* Object location */
+ H5A_t *attr = NULL; /* Attribute opened */
+ hid_t ret_value;
+
+ FUNC_ENTER_API(H5Aopen, FAIL)
+ H5TRACE3("i", "i*si", loc_id, attr_name, aapl_id);
+
+ /* check arguments */
+ if(H5I_ATTR == H5I_get_type(loc_id))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute")
+ if(H5G_loc(loc_id, &loc) < 0)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+ if(!attr_name || !*attr_name)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no attribute name")
+
+ /* Read in attribute from object header */
+ if(NULL == (attr = H5O_attr_open_by_name(loc.oloc, attr_name, H5AC_ind_dxpl_id)))
+ HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to load attribute info from object header")
+ attr->initialized = TRUE;
+
+ /* Finish initializing attribute */
+ if(H5A_open_common(&loc, attr) < 0)
+ HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to initialize attribute")
+
+ /* Register the attribute and get an ID for it */
+ if((ret_value = H5I_register(H5I_ATTR, attr)) < 0)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register attribute for ID")
+
+done:
+ /* Cleanup on failure */
+ if(ret_value < 0)
+ if(attr && H5A_close(attr) < 0)
+ HDONE_ERROR(H5E_ATTR, H5E_CANTFREE, FAIL, "can't close attribute")
+
+ FUNC_LEAVE_API(ret_value)
+} /* H5Aopen() */
+
+
+/*--------------------------------------------------------------------------
+ NAME
+ H5Aopen_by_name
+ PURPOSE
+ Opens an attribute for an object by looking up the attribute name
+ USAGE
+ hid_t H5Aopen_by_name(loc_id, obj_name, attr_name, aapl_id, lapl_id)
hid_t loc_id; IN: Object that attribute is attached to
const char *obj_name; IN: Name of object relative to location
const char *attr_name; IN: Name of attribute to locate and open
@@ -455,14 +515,14 @@ done:
H5Aclose or resource leaks will develop.
--------------------------------------------------------------------------*/
hid_t
-H5Aopen(hid_t loc_id, const char *obj_name, const char *attr_name,
+H5Aopen_by_name(hid_t loc_id, const char *obj_name, const char *attr_name,
hid_t UNUSED aapl_id, hid_t lapl_id)
{
H5G_loc_t loc; /* Object location */
H5A_t *attr = NULL; /* Attribute opened */
hid_t ret_value;
- FUNC_ENTER_API(H5Aopen, FAIL)
+ FUNC_ENTER_API(H5Aopen_by_name, FAIL)
H5TRACE5("i", "i*s*sii", loc_id, obj_name, attr_name, aapl_id, lapl_id);
/* check arguments */
@@ -495,7 +555,7 @@ done:
HDONE_ERROR(H5E_ATTR, H5E_CANTFREE, FAIL, "can't close attribute")
FUNC_LEAVE_API(ret_value)
-} /* H5Aopen() */
+} /* H5Aopen_by_name() */
/*--------------------------------------------------------------------------
diff --git a/src/H5Apublic.h b/src/H5Apublic.h
index fdda900..d0c406e 100644
--- a/src/H5Apublic.h
+++ b/src/H5Apublic.h
@@ -43,8 +43,9 @@ typedef herr_t (*H5A_operator2_t)(hid_t location_id/*in*/,
/* Public function prototypes */
H5_DLL hid_t H5Acreate2(hid_t loc_id, const char *obj_name, const char *attr_name,
hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id);
-H5_DLL hid_t H5Aopen(hid_t loc_id, const char *obj_name, const char *attr_name,
- hid_t aapl_id, hid_t lapl_id);
+H5_DLL hid_t H5Aopen(hid_t loc_id, const char *attr_name, hid_t aapl_id);
+H5_DLL hid_t H5Aopen_by_name(hid_t loc_id, const char *obj_name,
+ const char *attr_name, hid_t aapl_id, hid_t lapl_id);
H5_DLL hid_t H5Aopen_by_idx(hid_t loc_id, const char *obj_name,
H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id,
hid_t lapl_id);
diff --git a/test/dangle.c b/test/dangle.c
index 039c405..a08941c 100644
--- a/test/dangle.c
+++ b/test/dangle.c
@@ -476,7 +476,7 @@ test_dangle_attribute(H5F_close_degree_t degree)
/* Leave open a _lot_ of objects */
for(u = 0; u < MAX_DANGLE; u++)
- if((aid = H5Aopen(dsid, ".", ATTRNAME, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((aid = H5Aopen(dsid, ATTRNAME, H5P_DEFAULT)) < 0)
TEST_ERROR
if(H5Dclose(dsid) < 0)
diff --git a/test/objcopy.c b/test/objcopy.c
index 88fee57..bea0c11 100755
--- a/test/objcopy.c
+++ b/test/objcopy.c
@@ -792,7 +792,7 @@ compare_std_attributes(hid_t oid, hid_t oid2, hid_t pid)
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(oid2, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
+ if((aid2 = H5Aopen(oid2, attr_name, H5P_DEFAULT)) < 0) TEST_ERROR
/* Check the attributes are equal */
if(!compare_attribute(aid, aid2, pid, NULL, oid)) TEST_ERROR
diff --git a/test/tattr.c b/test/tattr.c
index b391836..cb93300 100644
--- a/test/tattr.c
+++ b/test/tattr.c
@@ -204,7 +204,7 @@ test_attr_basic_write(hid_t fapl)
CHECK(group, FAIL, "H5Gopen2");
/* Open attribute again */
- attr = H5Aopen(group, ".", ATTR1_NAME, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(group, ATTR1_NAME, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Close attribute */
@@ -262,7 +262,7 @@ test_attr_basic_write(hid_t fapl)
CHECK(ret, FAIL, "H5Arename2");
/* Open attribute again */
- attr = H5Aopen(dataset, ".", ATTR_TMP_NAME, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, ATTR_TMP_NAME, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Verify new attribute name */
@@ -294,7 +294,7 @@ test_attr_basic_write(hid_t fapl)
CHECK(ret, FAIL, "H5Aclose");
/* Open the second attribute again */
- attr2=H5Aopen(dataset, ".", ATTR1A_NAME, H5P_DEFAULT, H5P_DEFAULT);
+ attr2=H5Aopen(dataset, ATTR1A_NAME, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Verify new attribute name */
@@ -415,7 +415,7 @@ test_attr_basic_read(hid_t fapl)
VERIFY(oinfo.num_attrs, 2, "H5Oget_info");
/* Open first attribute for the dataset */
- attr = H5Aopen(dataset, ".", ATTR_TMP_NAME, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, ATTR_TMP_NAME, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Read attribute information */
@@ -444,7 +444,7 @@ test_attr_basic_read(hid_t fapl)
VERIFY(oinfo.num_attrs, 1, "H5Oget_info");
/* Open the attribute for the group */
- attr = H5Aopen(group, ".", ATTR2_NAME, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(group, ATTR2_NAME, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Read attribute information */
@@ -627,7 +627,7 @@ test_attr_plist(hid_t fapl)
CHECK(ret, FAIL, "H5Aclose");
/* Re-open the second attribute and ensure that its character encoding is correct */
- attr = H5Aopen(dataset, ".", ATTR2_NAME, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, ATTR2_NAME, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
plist = H5Aget_create_plist(attr);
CHECK(plist, FAIL, "H5Aget_create_plist");
@@ -988,7 +988,7 @@ test_attr_scalar_read(hid_t fapl)
VERIFY(oinfo.num_attrs, 1, "H5Oget_info");
/* Open an attribute for the dataset */
- attr = H5Aopen(dataset, ".", ATTR5_NAME, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, ATTR5_NAME, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Read attribute information */
@@ -1732,7 +1732,7 @@ test_attr_dtype_shared(hid_t fapl)
CHECK(dset_id, FAIL, "H5Dopen2");
/* Open attribute */
- attr_id = H5Aopen(dset_id, ".", ATTR1_NAME, H5P_DEFAULT, H5P_DEFAULT);
+ attr_id = H5Aopen(dset_id, ATTR1_NAME, H5P_DEFAULT);
CHECK(attr_id, FAIL, "H5Aopen");
/* Read data from the attribute */
@@ -1799,7 +1799,7 @@ test_attr_dense_verify(hid_t loc_id, unsigned max_attr)
for(u = 0; u < max_attr; u++) {
/* Open attribute */
sprintf(attrname, "attr %02u", u);
- attr = H5Aopen(loc_id, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(loc_id, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Read data from the attribute */
@@ -2422,7 +2422,7 @@ test_attr_dense_rename(hid_t fcpl, hid_t fapl)
/* Open attribute */
sprintf(attrname, "new attr %02u", u);
- attr = H5Aopen(dataset, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Read data from the attribute */
@@ -3156,7 +3156,7 @@ test_attr_null_space(hid_t fcpl, hid_t fapl)
/* Open first attribute */
HDstrcpy(attrname, "null attr #2");
- attr = H5Aopen(dataset, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Try to read data from the attribute */
@@ -3195,7 +3195,7 @@ test_attr_null_space(hid_t fcpl, hid_t fapl)
/* Open second attribute */
HDstrcpy(attrname, "null attr");
- attr = H5Aopen(dataset, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Try to write data to the attribute */
@@ -3408,7 +3408,7 @@ test_attr_many(hid_t fcpl, hid_t fapl)
sprintf(attrname, "a-%06u", u);
- aid = H5Aopen(fid, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ aid = H5Aopen(fid, attrname, H5P_DEFAULT);
CHECK(aid, FAIL, "H5Aopen");
ret = H5Aread(aid, H5T_NATIVE_UINT, &value);
@@ -6463,7 +6463,7 @@ test_attr_open_by_idx(hbool_t new_format, hid_t fcpl, hid_t fapl)
*-------------------------------------------------------------------------
*/
static int
-attr_open_check(hid_t obj_id, unsigned max_attrs)
+attr_open_check(hid_t fid, const char *dsetname, hid_t obj_id, unsigned max_attrs)
{
hid_t attr_id; /* ID of attribute to test */
H5A_info_t ainfo; /* Attribute info */
@@ -6479,7 +6479,7 @@ attr_open_check(hid_t obj_id, unsigned max_attrs)
for(u = 0; u < max_attrs; u++) {
/* Open the attribute */
sprintf(attrname, "attr %02u", u);
- attr_id = H5Aopen(obj_id, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr_id = H5Aopen(obj_id, attrname, H5P_DEFAULT);
CHECK(attr_id, FAIL, "H5Aopen");
/* Get the attribute's information */
@@ -6492,6 +6492,38 @@ attr_open_check(hid_t obj_id, unsigned max_attrs)
/* Close attribute */
ret = H5Aclose(attr_id);
CHECK(ret, FAIL, "H5Aclose");
+
+
+ /* Open the attribute */
+ attr_id = H5Aopen_by_name(obj_id, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ CHECK(attr_id, FAIL, "H5Aopen_by_name");
+
+ /* Get the attribute's information */
+ ret = H5Aget_info(attr_id, &ainfo);
+ CHECK(ret, FAIL, "H5Aget_info");
+
+ /* Check that the object is the correct one */
+ VERIFY(ainfo.corder, u, "H5Aget_info");
+
+ /* Close attribute */
+ ret = H5Aclose(attr_id);
+ CHECK(ret, FAIL, "H5Aclose");
+
+
+ /* Open the attribute */
+ attr_id = H5Aopen_by_name(fid, dsetname, attrname, H5P_DEFAULT, H5P_DEFAULT);
+ CHECK(attr_id, FAIL, "H5Aopen_by_name");
+
+ /* Get the attribute's information */
+ ret = H5Aget_info(attr_id, &ainfo);
+ CHECK(ret, FAIL, "H5Aget_info");
+
+ /* Check that the object is the correct one */
+ VERIFY(ainfo.corder, u, "H5Aget_info");
+
+ /* Close attribute */
+ ret = H5Aclose(attr_id);
+ CHECK(ret, FAIL, "H5Aclose");
} /* end for */
/* Retrieve current # of errors */
@@ -6525,6 +6557,7 @@ test_attr_open(hbool_t new_format, hid_t fcpl, hid_t fapl)
hsize_t name_count; /* # of records in name index */
hsize_t corder_count; /* # of records in creation order index */
hbool_t use_index; /* Use index on creation order values */
+ const char *dsetname; /* Name of dataset for attributes */
char attrname[NAME_BUF_SIZE]; /* Name of attribute */
unsigned curr_dset; /* Current dataset to work on */
unsigned u; /* Local index variable */
@@ -6573,14 +6606,17 @@ test_attr_open(hbool_t new_format, hid_t fcpl, hid_t fapl)
switch(curr_dset) {
case 0:
my_dataset = dset1;
+ dsetname = DSET1_NAME;
break;
case 1:
my_dataset = dset2;
+ dsetname = DSET2_NAME;
break;
case 2:
my_dataset = dset3;
+ dsetname = DSET3_NAME;
break;
default:
@@ -6594,9 +6630,15 @@ test_attr_open(hbool_t new_format, hid_t fcpl, hid_t fapl)
VERIFY(is_dense, FALSE, "H5O_is_attr_dense_test");
/* Check for opening a non-existant attribute on an object with no attributes */
- ret = H5Aopen(my_dataset, ".", "foo", H5P_DEFAULT, H5P_DEFAULT);
+ ret = H5Aopen(my_dataset, "foo", H5P_DEFAULT);
VERIFY(ret, FAIL, "H5Aopen");
+ ret = H5Aopen_by_name(my_dataset, ".", "foo", H5P_DEFAULT, H5P_DEFAULT);
+ VERIFY(ret, FAIL, "H5Aopen_by_name");
+
+ ret = H5Aopen_by_name(fid, dsetname, "foo", H5P_DEFAULT, H5P_DEFAULT);
+ VERIFY(ret, FAIL, "H5Aopen_by_name");
+
/* Create attributes, up to limit of compact form */
for(u = 0; u < max_compact; u++) {
/* Create attribute */
@@ -6627,11 +6669,17 @@ test_attr_open(hbool_t new_format, hid_t fcpl, hid_t fapl)
VERIFY(is_dense, FALSE, "H5O_is_attr_dense_test");
/* Check for opening a non-existant attribute on an object with compact attribute storage */
- ret = H5Aopen(my_dataset, ".", "foo", H5P_DEFAULT, H5P_DEFAULT);
+ ret = H5Aopen(my_dataset, "foo", H5P_DEFAULT);
VERIFY(ret, FAIL, "H5Aopen");
+ ret = H5Aopen_by_name(my_dataset, ".", "foo", H5P_DEFAULT, H5P_DEFAULT);
+ VERIFY(ret, FAIL, "H5Aopen_by_name");
+
+ ret = H5Aopen_by_name(fid, dsetname, "foo", H5P_DEFAULT, H5P_DEFAULT);
+ VERIFY(ret, FAIL, "H5Aopen_by_name");
+
/* Test opening attributes stored compactly */
- ret = attr_open_check(my_dataset, u);
+ ret = attr_open_check(fid, dsetname, my_dataset, u);
CHECK(ret, FAIL, "attr_open_check");
} /* end for */
@@ -6641,14 +6689,17 @@ test_attr_open(hbool_t new_format, hid_t fcpl, hid_t fapl)
switch(curr_dset) {
case 0:
my_dataset = dset1;
+ dsetname = DSET1_NAME;
break;
case 1:
my_dataset = dset2;
+ dsetname = DSET2_NAME;
break;
case 2:
my_dataset = dset3;
+ dsetname = DSET3_NAME;
break;
default:
@@ -6700,11 +6751,17 @@ test_attr_open(hbool_t new_format, hid_t fcpl, hid_t fapl)
} /* end if */
/* Check for opening a non-existant attribute on an object with dense attribute storage */
- ret = H5Aopen(my_dataset, ".", "foo", H5P_DEFAULT, H5P_DEFAULT);
+ ret = H5Aopen(my_dataset, "foo", H5P_DEFAULT);
VERIFY(ret, FAIL, "H5Aopen");
+ ret = H5Aopen_by_name(my_dataset, ".", "foo", H5P_DEFAULT, H5P_DEFAULT);
+ VERIFY(ret, FAIL, "H5Aopen_by_name");
+
+ ret = H5Aopen_by_name(fid, dsetname, "foo", H5P_DEFAULT, H5P_DEFAULT);
+ VERIFY(ret, FAIL, "H5Aopen_by_name");
+
/* Test opening attributes stored compactly */
- ret = attr_open_check(my_dataset, u);
+ ret = attr_open_check(fid, dsetname, my_dataset, u);
CHECK(ret, FAIL, "attr_open_check");
} /* end for */
@@ -7322,7 +7379,7 @@ test_attr_shared_rename(hid_t fcpl, hid_t fapl)
/* Check refcount on attributes now */
/* Check refcount on renamed attribute */
- attr = H5Aopen(dataset2, ".", attrname2, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset2, attrname2, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
if(u % 2) {
@@ -7346,7 +7403,7 @@ test_attr_shared_rename(hid_t fcpl, hid_t fapl)
CHECK(ret, FAIL, "H5Aclose");
/* Check refcount on original attribute */
- attr = H5Aopen(dataset, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
if(u % 2) {
@@ -7378,7 +7435,7 @@ test_attr_shared_rename(hid_t fcpl, hid_t fapl)
/* Check refcount on attributes now */
/* Check refcount on renamed attribute */
- attr = H5Aopen(dataset2, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset2, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
if(u % 2) {
@@ -7402,7 +7459,7 @@ test_attr_shared_rename(hid_t fcpl, hid_t fapl)
CHECK(ret, FAIL, "H5Aclose");
/* Check refcount on original attribute */
- attr = H5Aopen(dataset, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
if(u % 2) {
@@ -7766,7 +7823,7 @@ test_attr_shared_delete(hid_t fcpl, hid_t fapl)
/* Check refcount on attributes now */
/* Check refcount on first dataset's attribute */
- attr = H5Aopen(dataset, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
if(u % 2) {
@@ -8140,7 +8197,7 @@ test_attr_shared_unlink(hid_t fcpl, hid_t fapl)
sprintf(attrname, "attr %02u", u);
/* Open attribute on first dataset */
- attr = H5Aopen(dataset, ".", attrname, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, attrname, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
if(u % 2) {
diff --git a/test/th5s.c b/test/th5s.c
index 196e777..f649fa6 100644
--- a/test/th5s.c
+++ b/test/th5s.c
@@ -494,7 +494,7 @@ test_h5s_null(void)
CHECK(ret, FAIL, "H5Sclose");
/* Open the attribute for the dataset */
- attr = H5Aopen(did, ".", NULLATTR, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(did, NULLATTR, H5P_DEFAULT);
CHECK(attr, FAIL, "H5Aopen");
/* Get the space of the dataset */
diff --git a/test/tmisc.c b/test/tmisc.c
index efc38c3..ef53c1c 100644
--- a/test/tmisc.c
+++ b/test/tmisc.c
@@ -497,7 +497,7 @@ static void test_misc2_read_attribute(const char *filename, const char *att_name
root = H5Gopen2(file, "/", H5P_DEFAULT);
CHECK(root, FAIL, "H5Gopen2");
- att = H5Aopen(root, ".", att_name, H5P_DEFAULT, H5P_DEFAULT);
+ att = H5Aopen(root, att_name, H5P_DEFAULT);
CHECK(att, FAIL, "H5Aopen");
ret = H5Aread(att, type, &data_check);
diff --git a/test/tsohm.c b/test/tsohm.c
index bcf0432..64eb86f 100644
--- a/test/tsohm.c
+++ b/test/tsohm.c
@@ -1886,9 +1886,9 @@ static void size2_verify(void)
attr_correct_string[0] = attr_name[0] = (x / 10) + '0';
attr_correct_string[1] = attr_name[1] = (x % 10) + '0';
- attr1_id = H5Aopen(group1_id, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT);
+ attr1_id = H5Aopen(group1_id, attr_name, H5P_DEFAULT);
CHECK_I(attr1_id, "H5Aopen");
- attr2_id = H5Aopen(group2_id, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT);
+ attr2_id = H5Aopen(group2_id, attr_name, H5P_DEFAULT);
CHECK_I(attr2_id, "H5Aopen");
ret = H5Aread(attr1_id, attr_type_id, attr_string);
@@ -2613,7 +2613,7 @@ static void delete_helper_read(hid_t file_id, hid_t *dspace_id, int x)
VERIFY(rdata, (x + 'a'), "H5Dread");
/* Open attribute */
- attr_id = H5Aopen(dset_id, ".", "attr_name", H5P_DEFAULT, H5P_DEFAULT);
+ attr_id = H5Aopen(dset_id, "attr_name", H5P_DEFAULT);
CHECK_I(attr_id, "H5Aopen");
/* Read */
diff --git a/test/ttsafe_acreate.c b/test/ttsafe_acreate.c
index c9dd64d..b4c27ae 100644
--- a/test/ttsafe_acreate.c
+++ b/test/ttsafe_acreate.c
@@ -130,7 +130,7 @@ void tts_acreate(void)
/* verify the correctness of the test */
for(i = 0; i < NUM_THREADS; i++) {
- attribute = H5Aopen(dataset, ".", gen_name(i), H5P_DEFAULT, H5P_DEFAULT);
+ attribute = H5Aopen(dataset, gen_name(i), H5P_DEFAULT);
if(attribute < 0)
TestErrPrintf("unable to open appropriate attribute. Test failed!\n");
diff --git a/test/tvlstr.c b/test/tvlstr.c
index a6d3851..dfc3015 100644
--- a/test/tvlstr.c
+++ b/test/tvlstr.c
@@ -680,7 +680,7 @@ static void test_read_vl_string_attribute(void)
CHECK(root, FAIL, "H5Gopen2");
/* Test reading "normal" sized string attribute */
- att = H5Aopen(root, ".", "test_scalar", H5P_DEFAULT, H5P_DEFAULT);
+ att = H5Aopen(root, "test_scalar", H5P_DEFAULT);
CHECK(att, FAIL, "H5Aopen");
ret = H5Aread(att, type, &string_att_check);
@@ -695,7 +695,7 @@ static void test_read_vl_string_attribute(void)
CHECK(ret, FAIL, "HAclose");
/* Test reading "large" sized string attribute */
- att = H5Aopen(root, ".", "test_scalar_large", H5P_DEFAULT, H5P_DEFAULT);
+ att = H5Aopen(root, "test_scalar_large", H5P_DEFAULT);
CHECK(att, FAIL, "H5Aopen");
ret = H5Aread(att, type, &string_att_check);
diff --git a/testpar/t_mdset.c b/testpar/t_mdset.c
index b2ae824..6a4d5f2 100644
--- a/testpar/t_mdset.c
+++ b/testpar/t_mdset.c
@@ -378,7 +378,7 @@ void null_dataset(void)
VRFY((uval==2), "H5Dread");
/* Open the attribute for the dataset */
- attr = H5Aopen(dataset, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT);
+ attr = H5Aopen(dataset, attr_name, H5P_DEFAULT);
VRFY((attr >= 0), "H5Aopen");
/* Try reading from the attribute(make certain our buffer is unmodified) */ ret = H5Aread(attr, H5T_NATIVE_INT, &val);
@@ -1326,7 +1326,7 @@ int read_attribute(hid_t obj_id, int this_type, int num)
if(this_type == is_group) {
sprintf(attr_name, "Group Attribute %d", num);
- aid = H5Aopen(obj_id, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT);
+ aid = H5Aopen(obj_id, attr_name, H5P_DEFAULT);
if(MAINPROCESS) {
H5Aread(aid, H5T_NATIVE_INT, &in_num);
vrfy_errors = dataset_vrfy(NULL, NULL, NULL, group_block, &in_num, &num);
@@ -1337,7 +1337,7 @@ int read_attribute(hid_t obj_id, int this_type, int num)
sprintf(attr_name, "Dataset Attribute %d", num);
for(i=0; i<8; i++)
out_data[i] = i;
- aid = H5Aopen(obj_id, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT);
+ aid = H5Aopen(obj_id, attr_name, H5P_DEFAULT);
if(MAINPROCESS) {
H5Aread(aid, H5T_NATIVE_INT, in_data);
vrfy_errors = dataset_vrfy(NULL, NULL, NULL, dset_block, in_data, out_data);
diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c
index 712d133..759afdf 100644
--- a/tools/h5dump/h5dump.c
+++ b/tools/h5dump/h5dump.c
@@ -1237,7 +1237,7 @@ dump_attr_cb(hid_t oid, const char *attr_name, const H5A_info_t UNUSED *info, vo
begin_obj(dump_header_format->attributebegin, attr_name,
dump_header_format->attributeblockbegin);
- if((attr_id = H5Aopen(oid, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
+ if((attr_id = H5Aopen(oid, attr_name, H5P_DEFAULT)) < 0) {
indentation(indent + COL);
error_msg(progname, "unable to open attribute \"%s\"\n", attr_name);
indentation(indent);
@@ -1321,7 +1321,7 @@ dump_selected_attr(hid_t loc_id, const char *name)
return FAIL;
} /* end if */
- if((attr_id = H5Aopen(oid, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if((attr_id = H5Aopen(oid, attr_name, H5P_DEFAULT)) >= 0) {
hid_t type, space;
type = H5Aget_type(attr_id);
@@ -5099,7 +5099,7 @@ xml_dump_attr(hid_t attr, const char *attr_name, const H5A_info_t UNUSED *info,
printf("<%sAttribute Name=\"%s\">\n",xmlnsprefix, t_aname);
free(t_aname);
- if ((attr_id = H5Aopen(attr, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((attr_id = H5Aopen(attr, attr_name, H5P_DEFAULT)) >= 0) {
type = H5Aget_type(attr_id);
space = H5Aget_space(attr_id);
space_type = H5Sget_simple_extent_type(space);
diff --git a/tools/h5ls/h5ls.c b/tools/h5ls/h5ls.c
index 3d9cf87..b53abc4 100644
--- a/tools/h5ls/h5ls.c
+++ b/tools/h5ls/h5ls.c
@@ -1338,7 +1338,7 @@ list_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo,
n = display_string(stdout, attr_name, TRUE);
printf("%*s", MAX(0, (9 - n)), "");
- if((attr = H5Aopen(obj, ".", attr_name, H5P_DEFAULT, H5P_DEFAULT))) {
+ if((attr = H5Aopen(obj, attr_name, H5P_DEFAULT))) {
space = H5Aget_space(attr);
type = H5Aget_type(attr);
diff --git a/tools/lib/h5diff_attr.c b/tools/lib/h5diff_attr.c
index dfea49f..2db6d21 100644
--- a/tools/lib/h5diff_attr.c
+++ b/tools/lib/h5diff_attr.c
@@ -95,7 +95,7 @@ hsize_t diff_attr(hid_t loc1_id,
/* use the name on the first file to open the second file */
H5E_BEGIN_TRY
{
- if((attr2_id = H5Aopen(loc2_id, ".", name1, H5P_DEFAULT, H5P_DEFAULT)) < 0)
+ if((attr2_id = H5Aopen(loc2_id, name1, H5P_DEFAULT)) < 0)
goto error;
} H5E_END_TRY;