From eefa5cf26f800a7d63a706f6465015645b7a8eb1 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Thu, 20 Oct 2011 13:11:40 -0500 Subject: [svn-r21619] Description: Changed the API to pass type(h5o_info_t) instead of a C pointer to the derived type. Tested: jam (gfortran and pgi) --- fortran/src/H5Off_F03.f90 | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/fortran/src/H5Off_F03.f90 b/fortran/src/H5Off_F03.f90 index b2cbc70..8eb7a4b 100644 --- a/fortran/src/H5Off_F03.f90 +++ b/fortran/src/H5Off_F03.f90 @@ -170,7 +170,6 @@ CONTAINS END SUBROUTINE h5ovisit_f -! !****s* H5O (F03)/h5oget_info_by_name_f_F03 ! ! NAME @@ -180,15 +179,16 @@ CONTAINS ! Retrieves the metadata for an object, identifying the object by location and relative name. ! ! Inputs: -! loc_id - File or group identifier specifying location of group in which object -! is located. -! name - Name of group, relative to loc_id +! loc_id - File or group identifier specifying location of group +! in which object is located. +! name - Name of group, relative to loc_id +! +! Outputs: +! object_info - Buffer in which to return object information +! hdferr - Returns 0 if successful and -1 if fails ! -! Outputs: NOTE: In C it is defined as a structure: H5O_info_t -! **** NEED TO MAKE THIS DERIVED DATATYPE **** -! hdferr - Returns 0 if successful and -1 if fails ! Optional parameters: -! lapl_id - Link access property list +! lapl_id - Link access property list ! ! AUTHOR ! M. Scot Breitenfeld @@ -199,15 +199,16 @@ CONTAINS USE, INTRINSIC :: ISO_C_BINDING IMPLICIT NONE - INTEGER(HID_T) , INTENT(IN) :: loc_id - CHARACTER(LEN=*), INTENT(IN) :: name - TYPE(C_PTR) :: object_info + INTEGER(HID_T) , INTENT(IN) :: loc_id + CHARACTER(LEN=*), INTENT(IN) :: name + TYPE(h5o_info_t), INTENT(OUT), TARGET :: object_info INTEGER , INTENT(OUT) :: hdferr INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: lapl_id !***** INTEGER :: corder_valid INTEGER(SIZE_T) :: namelen INTEGER(HID_T) :: lapl_id_default + TYPE(C_PTR) :: ptr INTERFACE INTEGER FUNCTION h5oget_info_by_name_c(loc_id, name, namelen, lapl_id_default, & @@ -231,9 +232,9 @@ CONTAINS lapl_id_default = H5P_DEFAULT_F IF(PRESENT(lapl_id)) lapl_id_default = lapl_id - hdferr = H5Oget_info_by_name_c(loc_id, name, namelen, lapl_id_default, & - object_info) + ptr = C_LOC(object_info) + hdferr = H5Oget_info_by_name_c(loc_id, name, namelen, lapl_id_default, ptr) END SUBROUTINE H5Oget_info_by_name_f -- cgit v0.12