diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2008-05-16 15:10:36 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2008-05-16 15:10:36 (GMT) |
commit | 968552fbc80f4d88a6ea54b0b9a20892f461e167 (patch) | |
tree | 2e65d94f5026bdbf5fba48200f6ce3c5e1c0684d /fortran/src/H5Lff.f90 | |
parent | c23c6b939229efde53e105008d29b8bf441f5d99 (diff) | |
download | hdf5-968552fbc80f4d88a6ea54b0b9a20892f461e167.zip hdf5-968552fbc80f4d88a6ea54b0b9a20892f461e167.tar.gz hdf5-968552fbc80f4d88a6ea54b0b9a20892f461e167.tar.bz2 |
[svn-r15018] Maintenance: Brought changes from th etrunk to 1.8 branch.
Platforms tested: kagiso with g95, Intel and PGI compilers and with -i8 flag
smirom with g95 and -i8 flag, duty with gfortran42
Diffstat (limited to 'fortran/src/H5Lff.f90')
-rw-r--r-- | fortran/src/H5Lff.f90 | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/fortran/src/H5Lff.f90 b/fortran/src/H5Lff.f90 index 98d7729..10c8e35 100644 --- a/fortran/src/H5Lff.f90 +++ b/fortran/src/H5Lff.f90 @@ -795,7 +795,7 @@ CONTAINS END SUBROUTINE h5lget_info_by_idx_f !---------------------------------------------------------------------- -! Name: H5Lis_registered_f +! Name: h5lis_registered_f ! ! Purpose: Determines whether a class of user-defined links is registered. ! @@ -817,10 +817,10 @@ CONTAINS ! Modifications: N/A ! !---------------------------------------------------------------------- - SUBROUTINE H5Lis_registered_f(link_cls_id, registered, hdferr) + SUBROUTINE h5lis_registered_f(link_cls_id, registered, hdferr) !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: H5Lis_registered_f +!DEC$attributes dllexport :: h5lis_registered_f !DEC$endif IMPLICIT NONE INTEGER, INTENT(IN) :: link_cls_id ! User-defined link class identifier @@ -832,16 +832,16 @@ CONTAINS ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE - INTEGER FUNCTION H5Lis_registered_c(link_cls_id) + INTEGER FUNCTION h5lis_registered_c(link_cls_id) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5LIS_REGISTERED_C'::h5lis_registered_c !DEC$ ENDIF INTEGER, INTENT(IN) :: link_cls_id ! User-defined link class identifier - END FUNCTION H5Lis_registered_c + END FUNCTION h5lis_registered_c END INTERFACE - hdferr = H5Lis_registered_c(link_cls_id) + hdferr = h5lis_registered_c(link_cls_id) IF(hdferr.GT.0)THEN registered = .TRUE. @@ -849,10 +849,10 @@ CONTAINS registered = .FALSE. ENDIF - END SUBROUTINE H5Lis_registered_f + END SUBROUTINE h5lis_registered_f !---------------------------------------------------------------------- -! Name: H5Lmove_f +! Name: h5lmove_f ! ! Purpose: Renames a link within an HDF5 file. ! @@ -879,7 +879,7 @@ CONTAINS SUBROUTINE h5lmove_f(src_loc_id, src_name, dest_loc_id, dest_name, hdferr, lcpl_id, lapl_id) !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: H5Lmove_f +!DEC$attributes dllexport :: h5lmove_f !DEC$endif IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: src_loc_id ! Original file or group identifier. @@ -903,7 +903,7 @@ CONTAINS ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE - INTEGER FUNCTION H5Lmove_c(src_loc_id, src_name, src_namelen, dest_loc_id, & + INTEGER FUNCTION h5lmove_c(src_loc_id, src_name, src_namelen, dest_loc_id, & dest_name, dest_namelen, lcpl_id_default, lapl_id_default) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) @@ -920,7 +920,7 @@ CONTAINS INTEGER(HID_T) :: lcpl_id_default INTEGER(HID_T) :: lapl_id_default - END FUNCTION H5Lmove_c + END FUNCTION h5lmove_c END INTERFACE lcpl_id_default = H5P_DEFAULT_F @@ -934,7 +934,7 @@ CONTAINS hdferr = H5Lmove_c(src_loc_id, src_name, src_namelen, dest_loc_id, & dest_name, dest_namelen, lcpl_id_default, lapl_id_default) - END SUBROUTINE H5Lmove_f + END SUBROUTINE h5lmove_f !---------------------------------------------------------------------- ! Name: h5lget_name_by_idx_f @@ -950,13 +950,13 @@ CONTAINS ! ! Outputs: ! name - Buffer in which link value is returned -! size - Maximum number of characters of link value to be returned. ! hdferr - error code ! Success: 0 ! Failure: -1 ! ! Optional parameters: ! lapl_id - List access property list identifier. +! size - Maximum number of characters of link value to be returned. ! ! Programmer: M. S. Breitenfeld ! March 10, 2008 @@ -965,7 +965,7 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5lget_name_by_idx_f(loc_id, group_name, index_field, order, n, & - size, name, hdferr, lapl_id) + name, hdferr, size, lapl_id) !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) !DEC$attributes dllexport :: h5lget_name_by_idx_f @@ -984,8 +984,6 @@ CONTAINS ! H5_ITER_DEC_F - Decreasing order ! H5_ITER_NATIVE_F - No particular order, whatever is fastest INTEGER(HSIZE_T), INTENT(IN) :: n ! Attribute’s position in index - INTEGER(SIZE_T), INTENT(INOUT) :: size ! Indicates the size, in the number of characters, of the attribute - ! returns correct size CHARACTER(LEN=*), INTENT(OUT) :: name ! Buffer in which link value is returned INTEGER, INTENT(OUT) :: hdferr ! Error code: ! 0 on success and -1 on failure @@ -993,12 +991,15 @@ CONTAINS INTEGER(SIZE_T) :: group_namelen INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id ! Link access property list INTEGER(HID_T) :: lapl_id_default + INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size ! Indicates the size, in the number of characters, of the link + INTEGER(SIZE_T) :: size_default + ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE INTEGER FUNCTION h5lget_name_by_idx_c(loc_id, group_name, group_namelen, index_field, order, n, & - size, name, lapl_id_default) + size_default, name, lapl_id_default) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5LGET_NAME_BY_IDX_C'::h5lget_name_by_idx_c @@ -1009,7 +1010,7 @@ CONTAINS INTEGER, INTENT(IN) :: index_field INTEGER, INTENT(IN) :: order INTEGER(HSIZE_T), INTENT(IN) :: n - INTEGER(SIZE_T), INTENT(INOUT) :: size + INTEGER(SIZE_T) :: size_default CHARACTER(LEN=*), INTENT(OUT) :: name INTEGER(HID_T) :: lapl_id_default END FUNCTION h5lget_name_by_idx_c @@ -1020,8 +1021,13 @@ CONTAINS lapl_id_default = H5P_DEFAULT_F IF(PRESENT(lapl_id)) lapl_id_default = lapl_id + size_default = LEN(name) + hdferr = h5lget_name_by_idx_c(loc_id, group_name, group_namelen, index_field, order, n, & - size, name, lapl_id_default) + size_default, name, lapl_id_default) + + IF(PRESENT(size)) size = size_default + END SUBROUTINE h5lget_name_by_idx_f |