diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2001-11-27 15:10:55 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2001-11-27 15:10:55 (GMT) |
commit | 3adfa54afcb04b8b6fecfda31fc1585cea6ac6e4 (patch) | |
tree | c303aeb6f1a0a3dc5118372cd6327e3f57ee7688 | |
parent | 2e910e48b9cdc03bd2f6b181a3a382c90bdcdab2 (diff) | |
download | hdf5-3adfa54afcb04b8b6fecfda31fc1585cea6ac6e4.zip hdf5-3adfa54afcb04b8b6fecfda31fc1585cea6ac6e4.tar.gz hdf5-3adfa54afcb04b8b6fecfda31fc1585cea6ac6e4.tar.bz2 |
[svn-r4637]
Purpose:
Bug fix
Description:
Error messages were printed to the file and standard output regardless
of the parameters passed to the h5eprint_f function. h5eprintc function
did not close the file with the error output. Fixed.
Platforms tested:
arabica and eirene
-rw-r--r-- | fortran/src/H5Ef.c | 9 | ||||
-rw-r--r-- | fortran/src/H5Eff.f90 | 5 |
2 files changed, 10 insertions, 4 deletions
diff --git a/fortran/src/H5Ef.c b/fortran/src/H5Ef.c index 57e4b19..de991e3 100644 --- a/fortran/src/H5Ef.c +++ b/fortran/src/H5Ef.c @@ -36,7 +36,8 @@ nh5eclear_c( ) * Returns: 0 on success, -1 on failure * Programmer: Xiangyang Su * Wednesday, March 29, 2000 - * Modifications: + * Modifications: Bug fix: Added call to close the file with the error messages + * EP 11/26/01 *---------------------------------------------------------------------------*/ int_f nh5eprint_c1(_fcd name, int_f* namelen) @@ -48,12 +49,14 @@ nh5eprint_c1(_fcd name, int_f* namelen) int c_namelen; c_namelen = *namelen; c_name = (char*)HD5f2cstring(name, c_namelen); - file = fopen(c_name, "w"); - + file = fopen(c_name, "a"); + if(!file) return ret_val; /* * Call H5Eprint function. */ status = H5Eprint(file); + fclose(file); + if(status < 0) return ret_val; ret_val = 0; return ret_val; diff --git a/fortran/src/H5Eff.f90 b/fortran/src/H5Eff.f90 index 0c7b513..a43c119 100644 --- a/fortran/src/H5Eff.f90 +++ b/fortran/src/H5Eff.f90 @@ -110,8 +110,11 @@ END FUNCTION h5eprint_c2 END INTERFACE namelen = LEN(NAME) - if (present(name)) hdferr = h5eprint_c1(name, namelen) + if (present(name)) then + hdferr = h5eprint_c1(name, namelen) + else hdferr = h5eprint_c2() + endif END SUBROUTINE h5eprint_f !---------------------------------------------------------------------- |