diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2009-09-15 20:19:02 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2009-09-15 20:19:02 (GMT) |
commit | 84527bc7ac95a86ec04fac16872408f8139eb29c (patch) | |
tree | 6a7ce37b76ed641d5914fd100f0ce25227444490 /fortran/src/H5Off.f90 | |
parent | 8537263df1cb4fd30c0d32ff2b75b1dbb7f61152 (diff) | |
download | hdf5-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/H5Off.f90')
-rw-r--r-- | fortran/src/H5Off.f90 | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/fortran/src/H5Off.f90 b/fortran/src/H5Off.f90 index a541502..0328fbc 100644 --- a/fortran/src/H5Off.f90 +++ b/fortran/src/H5Off.f90 @@ -153,5 +153,49 @@ CONTAINS END SUBROUTINE h5oopen_f +!---------------------------------------------------------------------- +! Name: h5oopen_by_addr_f +! +! Purpose: Opens an object using its address within an HDF5 file. +! +! Inputs: +! loc_id - File or group identifier +! addr - Object’s address in the file +! Outputs: +! obj_id - Object identifier for the opened object +! hdferr: - error code +! Success: 0 +! Failure: -1 +! +! Programmer: M. Scot Breitenfeld +! September 14, 2009 +! +! Modifications: N/A +! +!---------------------------------------------------------------------- + + SUBROUTINE h5oopen_by_addr_f(loc_id, addr, obj_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + INTEGER(HADDR_T), INTENT(IN) :: addr ! Object’s address in the file + INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object identifier for the opened object + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! Success: 0 + ! Failure: -1 + INTERFACE + INTEGER FUNCTION h5oopen_by_addr_c(loc_id, addr, obj_id) + USE H5GLOBAL + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OOPEN_BY_ADDR_C'::h5oopen_by_addr_c + !DEC$ENDIF + INTEGER(HID_T), INTENT(IN) :: loc_id + INTEGER(HADDR_T), INTENT(IN) :: addr + INTEGER(HID_T), INTENT(OUT) :: obj_id + END FUNCTION h5oopen_by_addr_c + END INTERFACE + + hdferr = h5oopen_by_addr_c(loc_id, addr, obj_id) + + END SUBROUTINE h5oopen_by_addr_f END MODULE H5O |