From 3adfa54afcb04b8b6fecfda31fc1585cea6ac6e4 Mon Sep 17 00:00:00 2001 From: Elena Pourmal Date: Tue, 27 Nov 2001 10:10:55 -0500 Subject: [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 --- fortran/src/H5Ef.c | 9 ++++++--- 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 !---------------------------------------------------------------------- -- cgit v0.12