summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Of.c
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2009-09-15 20:19:02 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2009-09-15 20:19:02 (GMT)
commit84527bc7ac95a86ec04fac16872408f8139eb29c (patch)
tree6a7ce37b76ed641d5914fd100f0ce25227444490 /fortran/src/H5Of.c
parent8537263df1cb4fd30c0d32ff2b75b1dbb7f61152 (diff)
downloadhdf5-84527bc7ac95a86ec04fac16872408f8139eb29c.zip
hdf5-84527bc7ac95a86ec04fac16872408f8139eb29c.tar.gz
hdf5-84527bc7ac95a86ec04fac16872408f8139eb29c.tar.bz2
[svn-r17482]
Bug 1652 - h5lget_info_by_idx_f missing/broken functionalit * added returned val_sel, link_type and address that were missing In the process, fixed the integer type in H5lget_info_f for address and val_sel * wrote test for val_sel, address, and link_type returned values * to check address values added h5Oopen_by_addr_f function and test program. Tested: smirom (pgf90/pgcc, ifort/icc) linew jam (gcc/g95)
Diffstat (limited to 'fortran/src/H5Of.c')
-rw-r--r--fortran/src/H5Of.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/fortran/src/H5Of.c b/fortran/src/H5Of.c
index 5282dd6..56cbfeb 100644
--- a/fortran/src/H5Of.c
+++ b/fortran/src/H5Of.c
@@ -97,3 +97,28 @@ nh5oopen_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, hid
return ret_value;
}
+/*----------------------------------------------------------------------------
+ * Name: h5oopen_by_addr_c
+ * Purpose: Calls H5open_by_addr
+ * Inputs: loc_id - File or group identifier
+ * addr - Object’s address in the file
+ * Outputs: obj_id - Dataset identifier
+ * Returns: 0 on success, -1 on failure
+ * Programmer: M. Scot Breitenfeld
+ * September 14, 2009
+ * Modifications:
+ *---------------------------------------------------------------------------*/
+int_f
+nh5oopen_by_addr_c (hid_t_f *loc_id, haddr_t_f *addr, hid_t_f *obj_id)
+{
+ int_f ret_value = 0; /* Return value */
+
+ /*
+ * Call H5Oopen_by_address function.
+ */
+ if((*obj_id = (hid_t_f)H5Oopen_by_addr((hid_t)*loc_id, (haddr_t)*addr)) < 0)
+ HGOTO_DONE(FAIL);
+
+ done:
+ return ret_value;
+}