summaryrefslogtreecommitdiffstats
path: root/src/H5Aint.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-02-20 19:58:09 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-02-20 19:58:09 (GMT)
commitd08fabd66d4625bf387bb2edc9c19432332aed16 (patch)
tree421b336267de887763aa82c820a6fe05c3d9611b /src/H5Aint.c
parent8eecc944d7f741afcfd445a6c0f9906df759cdad (diff)
downloadhdf5-d08fabd66d4625bf387bb2edc9c19432332aed16.zip
hdf5-d08fabd66d4625bf387bb2edc9c19432332aed16.tar.gz
hdf5-d08fabd66d4625bf387bb2edc9c19432332aed16.tar.bz2
[svn-r13353] Description:
Checkpoint progress on H5Aiterate2(). Mark H5Aiterate() as deprecated. Various code cleanups. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
Diffstat (limited to 'src/H5Aint.c')
-rw-r--r--src/H5Aint.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/H5Aint.c b/src/H5Aint.c
index 8b4f92a..9d1b5c9 100644
--- a/src/H5Aint.c
+++ b/src/H5Aint.c
@@ -537,6 +537,19 @@ H5A_attr_iterate_table(const H5A_attr_table_t *atable, hsize_t skip,
for(; u < atable->nattrs && !ret_value; u++) {
/* Check which type of callback to make */
switch(attr_op->op_type) {
+ case H5A_ATTR_OP_APP2:
+ {
+ H5A_info_t ainfo; /* Info for attribute */
+
+ /* Get the attribute information */
+ if(H5A_get_info(&atable->attrs[u], &ainfo) < 0)
+ HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, H5_ITER_ERROR, "unable to get attribute info")
+
+ /* Make the application callback */
+ ret_value = (attr_op->u.app_op2)(loc_id, atable->attrs[u].name, &ainfo, op_data);
+ break;
+ }
+
case H5A_ATTR_OP_APP:
/* Make the application callback */
ret_value = (attr_op->u.app_op)(loc_id, atable->attrs[u].name, op_data);
@@ -556,6 +569,7 @@ H5A_attr_iterate_table(const H5A_attr_table_t *atable, hsize_t skip,
if(ret_value < 0)
HERROR(H5E_ATTR, H5E_CANTNEXT, "iteration operator failed");
+done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5A_attr_iterate_table() */