summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2001-11-27 15:10:55 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2001-11-27 15:10:55 (GMT)
commit3adfa54afcb04b8b6fecfda31fc1585cea6ac6e4 (patch)
treec303aeb6f1a0a3dc5118372cd6327e3f57ee7688
parent2e910e48b9cdc03bd2f6b181a3a382c90bdcdab2 (diff)
downloadhdf5-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.c9
-rw-r--r--fortran/src/H5Eff.f905
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
!----------------------------------------------------------------------