summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Lff.f90
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2008-05-16 15:10:36 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2008-05-16 15:10:36 (GMT)
commit968552fbc80f4d88a6ea54b0b9a20892f461e167 (patch)
tree2e65d94f5026bdbf5fba48200f6ce3c5e1c0684d /fortran/src/H5Lff.f90
parentc23c6b939229efde53e105008d29b8bf441f5d99 (diff)
downloadhdf5-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.f9044
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