summaryrefslogtreecommitdiffstats
path: root/src/H5Fsec2.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-02-27 20:07:37 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-02-27 20:07:37 (GMT)
commit0b4d32bb4a12fe0e34026c0f069aa99bf34cd834 (patch)
tree78bda62db83274079ca09e0d6bb4554dafa25544 /src/H5Fsec2.c
parented6d456f28862192e5768c279d96ca6da5d0f6cb (diff)
downloadhdf5-0b4d32bb4a12fe0e34026c0f069aa99bf34cd834.zip
hdf5-0b4d32bb4a12fe0e34026c0f069aa99bf34cd834.tar.gz
hdf5-0b4d32bb4a12fe0e34026c0f069aa99bf34cd834.tar.bz2
[svn-r301] Changes since 19980226
---------------------- ./bin/release Changed default to not tag CVS sources. ./src/H5F.c Replaced a constant switch with preprocessor directives. Removed a local variable which was set but not used. ./src/H5Fprivate.h Changed `long long' to `int64' to get rid of ansi warnings in a few places. Fixed bugs in INT64DECODE() and UINT64DECODE() for big-endian architectures. This fixes all the bugs with the Irix -64 compile. ./src/H5F.c The default address and length sizes are set according to the sizeof(size_t) now that the bugs have been fixed. ./src/H5Fpublic.h Removed a trailing comma in an enumerated type. ./src/H5Fstdio.c ./src/H5Fsec2.c Added two more calls to fseek64() and lseek64(). Removed `long long' in place of `int64' to suppress -ansi warnings. ./src/H5P.c Replaced a FAIL with H5F_LOW_ERROR. ./src/H5private.h ./configure.in Increased version number to hdf5-1.0.1a since we've already released hdf5-1.0.0a. Include <sys/types.h>. Fixed indentation. Fixed detection of off64_t for old Irix systems where it might be a struct. ./src/Makefile.in Moved a comment from the shell to the makefile since some versions of sh barf on interactive comments. ./config/linux Allow overriding of the CC variable from the command-line. It still defaults to gcc but this allows us to specify a complete path from test scripts by saying: CC=/usr/local/tools/gnu/gcc sh configure
Diffstat (limited to 'src/H5Fsec2.c')
-rw-r--r--src/H5Fsec2.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/H5Fsec2.c b/src/H5Fsec2.c
index dd0ab0f..57dd7a6 100644
--- a/src/H5Fsec2.c
+++ b/src/H5Fsec2.c
@@ -177,9 +177,9 @@ H5F_sec2_read(H5F_low_t *lf, const H5F_access_t *access_parms,
HRETURN_ERROR (H5E_IO, H5E_OVERFLOW, FAIL, "file address overflowed");
}
#ifdef HAVE_LSEEK64
- offset = (off64_t)(addr->offset); /*checked for overflow*/
+ offset = (off64_t)(addr->offset); /*checked for overflow above*/
#else
- offset = (off_t)(addr->offset); /*checked for overflow*/
+ offset = (off_t)(addr->offset); /*checked for overflow above*/
#endif
/* Check easy cases */
@@ -196,9 +196,15 @@ H5F_sec2_read(H5F_low_t *lf, const H5F_access_t *access_parms,
if (!H5F_OPT_SEEK ||
lf->u.sec2.op == H5F_OP_UNKNOWN ||
lf->u.sec2.cur != offset) {
+#ifdef HAVE_LSEEK64
+ if (lseek64 (lf->u.sec2.fd, offset, SEEK_SET)<0) {
+ HRETURN_ERROR (H5E_IO, H5E_SEEKERROR, FAIL, "lseek64 failed");
+ }
+#else
if (lseek(lf->u.sec2.fd, offset, SEEK_SET) < 0) {
HRETURN_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "lseek failed");
}
+#endif
lf->u.sec2.cur = offset;
}