diff options
author | Robb Matzke <matzke@llnl.gov> | 1997-11-07 05:16:53 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1997-11-07 05:16:53 (GMT) |
commit | 73897627660169de753597b9ff045d3112646506 (patch) | |
tree | b02e9ffd202a7448cdf4bc0bdfe5da728dde862b /src/H5Fstdio.c | |
parent | 833e82fec5f654c1ed93a6e4e4266f280e20311c (diff) | |
download | hdf5-73897627660169de753597b9ff045d3112646506.zip hdf5-73897627660169de753597b9ff045d3112646506.tar.gz hdf5-73897627660169de753597b9ff045d3112646506.tar.bz2 |
[svn-r135] ./config/linux
./config/freebsd2.2.1
Rewritten to be more flexible.
./src/H5AC.c
./src/H5ACprivate.h
./src/H5F.c
./src/H5H.c
./src/H5Gpkg.h
./src/H5Gshad.c
./src/H5O.c
./test/istore.c
./test/tstab.c
Accumulates cache statistics and displays the results on
stderr when the file is closed if it was opened with
H5F_ACC_DEBUG passed into H5F_open()
./src/H5B.c
./src/H5Bprivate.h
./src/H5Fistore.c
./src/H5Gnode.c
Added more debugging which is turned on if H5B_DEBUG is
defined on the compile command (see config/linux).
Fixed a couple of bugs with left insertions which are used by
the indexed storage stuff.
./src/H5Flow.c
Fixed a memory leak.
./src/H5Fprivate.h
Fixed warnings about shifting more than size of object.
./src/H5Fstdio.c
Fixed seek optimizations back to the way Quincey originally
had them.
./src/H5V.c
Removed unused variables.
Diffstat (limited to 'src/H5Fstdio.c')
-rw-r--r-- | src/H5Fstdio.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/H5Fstdio.c b/src/H5Fstdio.c index cd47f3a..cc8f4c6 100644 --- a/src/H5Fstdio.c +++ b/src/H5Fstdio.c @@ -182,7 +182,7 @@ H5F_stdio_read (H5F_low_t *lf, haddr_t addr, size_t size, uint8 *buf) * Seek to the correct file position. */ if (!H5F_OPT_SEEK || - lf->u.stdio.op==H5F_OP_UNKNOWN || + lf->u.stdio.op!=H5F_OP_READ || lf->u.stdio.cur!=addr) { if (fseek (lf->u.stdio.f, addr, SEEK_SET)<0) { HRETURN_ERROR (H5E_IO, H5E_SEEKERROR, FAIL); /*fseek failed*/ @@ -237,13 +237,15 @@ H5F_stdio_read (H5F_low_t *lf, haddr_t addr, size_t size, uint8 *buf) static herr_t H5F_stdio_write (H5F_low_t *lf, haddr_t addr, size_t size, const uint8 *buf) { + int status; + FUNC_ENTER (H5F_stdio_write, NULL, FAIL); /* * Seek to the correct file position. */ if (!H5F_OPT_SEEK || - lf->u.stdio.op==H5F_OP_UNKNOWN || + lf->u.stdio.op!=H5F_OP_WRITE || lf->u.stdio.cur!=addr) { if (fseek (lf->u.stdio.f, addr, SEEK_SET)<0) { HRETURN_ERROR (H5E_IO, H5E_SEEKERROR, FAIL); /*fseek failed*/ @@ -256,7 +258,8 @@ H5F_stdio_write (H5F_low_t *lf, haddr_t addr, size_t size, const uint8 *buf) * advanced by the number of bytes read. Otherwise nobody knows where it * is. */ - if (size != fwrite (buf, 1, size, lf->u.stdio.f)) { + status = fwrite (buf, 1, size, lf->u.stdio.f); + if (size != status) { lf->u.stdio.op = H5F_OP_UNKNOWN; HRETURN_ERROR (H5E_IO, H5E_WRITEERROR, FAIL); /*fwrite failed*/ } |