summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Eff.f90
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2005-01-19 02:51:12 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2005-01-19 02:51:12 (GMT)
commitfabb06712b15f111c7ccce8c394ff6fc9bd2f997 (patch)
tree51b5f57598d1ff355090e481a8268ee5ba80e88c /fortran/src/H5Eff.f90
parentb8f7cdc48d9c8470fdf8930938e75b50210150fb (diff)
downloadhdf5-fabb06712b15f111c7ccce8c394ff6fc9bd2f997.zip
hdf5-fabb06712b15f111c7ccce8c394ff6fc9bd2f997.tar.gz
hdf5-fabb06712b15f111c7ccce8c394ff6fc9bd2f997.tar.bz2
[svn-r9838] Purpose:
Bug fix Description: Correctly retire the H5E_LEN setting, now that the FORTRAN and C++ APIs have been corrected to not use it either. Solution: Pass in the string buffer length for FORTRAN In the C++ API, call H5Eget_msg() in a manner similar to the way H5Fget_name() is called. Platforms tested: Linux 2.4 (heping) w/FORTRAN & C++ Solaris 2.7 (arabica) w/FORTRAN & C++
Diffstat (limited to 'fortran/src/H5Eff.f90')
-rw-r--r--fortran/src/H5Eff.f9011
1 files changed, 7 insertions, 4 deletions
diff --git a/fortran/src/H5Eff.f90 b/fortran/src/H5Eff.f90
index 6e58bcf..2c64749 100644
--- a/fortran/src/H5Eff.f90
+++ b/fortran/src/H5Eff.f90
@@ -147,6 +147,7 @@
! error_no - mojor error number
! Outputs:
! name - character string describing the error
+! namelen - number of characters in the name buffer
! hdferr: - error code
! Success: 0
! Failure: -1
@@ -162,7 +163,7 @@
! Comment:
!----------------------------------------------------------------------
- SUBROUTINE h5eget_major_f(error_no, name, hdferr)
+ SUBROUTINE h5eget_major_f(error_no, name, namelen, hdferr)
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -172,24 +173,26 @@
INTEGER, INTENT(IN) :: error_no !Major error number
CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing
! the error.
+ INTEGER(SIZE_T), INTENT(IN) :: namelen !Anticipated number of characters in name.
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5eget_major_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5eget_major_c(error_no, name)
+ INTEGER FUNCTION h5eget_major_c(error_no, name, namelen)
USE H5GLOBAL
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
!MS$ATTRIBUTES C,reference,alias:'_H5EGET_MAJOR_C'::h5eget_major_c
!DEC$ ENDIF
!DEC$ATTRIBUTES reference :: name
INTEGER :: error_no
- CHARACTER(LEN=*) :: name
+ CHARACTER(LEN=*) :: name
+ INTEGER(SIZE_T), INTENT(IN) :: namelen
END FUNCTION h5eget_major_c
END INTERFACE
- hdferr = h5eget_major_c(error_no, name)
+ hdferr = h5eget_major_c(error_no, name, namelen)
END SUBROUTINE h5eget_major_f
!----------------------------------------------------------------------