diff options
author | Albert Cheng <acheng@hdfgroup.org> | 2010-08-03 23:33:43 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 2010-08-03 23:33:43 (GMT) |
commit | e440364f8e53fd52ef97d56b84f93fe580c9e2b6 (patch) | |
tree | fa3d905c09e70466816d3203bfa887e8ed1f92ad /src/H5private.h | |
parent | 28ffed9ebf80f0fd0247ffdd117aafeab42efb19 (diff) | |
download | hdf5-e440364f8e53fd52ef97d56b84f93fe580c9e2b6.zip hdf5-e440364f8e53fd52ef97d56b84f93fe580c9e2b6.tar.gz hdf5-e440364f8e53fd52ef97d56b84f93fe580c9e2b6.tar.bz2 |
[svn-r19166] Bug fix: 1917.
Description:
test/big incorrectly determined not able to write files larger than 2GB and
skipped the SEC2 and STDIO driver tests. The reason was because it was using
off_t while the SEC2 driver is using lseek64 which expects off64_t type.
Solution:
Created a new HDoff_t which is set to off_t or off64_t or other appropriate
type depending on which of lseek or lseek64 is available. Changed SEC2 file
driver and the big test to use this common definition.
Tested:
In BP (AIX), using --enable and --disable-largefile, for both 32 and 64 bits
modes. Did not do h5committest because: 1. the error was exposed in the remote
BP machine; 2. the change is trivial.
Diffstat (limited to 'src/H5private.h')
-rw-r--r-- | src/H5private.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/H5private.h b/src/H5private.h index f772dae..29f1bf0 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -908,9 +908,16 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...); #endif /* HDlongjmp */ #ifndef HDlseek #ifdef H5_HAVE_LSEEK64 - #define HDlseek(F,O,W) lseek64(F,O,W) + #define HDlseek(F,O,W) lseek64(F,O,W) + #define HDoff_t off64_t #else - #define HDlseek(F,O,W) lseek(F,O,W) + #define HDlseek(F,O,W) lseek(F,O,W) + #if defined (_WIN32) && !defined(__MWERKS__) + # /*MSVC*/ + # define HDoff_t __int64 + #else + # define HDoff_t off_t + #endif #endif #endif /* HDlseek */ #ifndef HDmalloc |