summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
!----------------------------------------------------------------------