diff options
author | Andy Polyakov <appro@openssl.org> | 2005-06-06 11:58:31 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2005-06-06 11:58:31 +0000 |
commit | 8fa6a40be2935ca109a28cc43d28cd27051ada01 (patch) | |
tree | 9a26124c3a05169c7fc2ac1a7f5b334d49125ab7 /crypto/bio | |
parent | 4b5598682a3ed929ab058cef3a056c528b557168 (diff) | |
download | openssl-8fa6a40be2935ca109a28cc43d28cd27051ada01.tar.gz |
Allow BIO_s_file to open and sequentially access files larger than 2GB on
affected platforms.
PR: 973
Diffstat (limited to 'crypto/bio')
-rw-r--r-- | crypto/bio/bss_file.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c index dd17802f8f..ccc741556e 100644 --- a/crypto/bio/bss_file.c +++ b/crypto/bio/bss_file.c @@ -65,6 +65,24 @@ #ifndef HEADER_BSS_FILE_C #define HEADER_BSS_FILE_C +#if defined(__linux) || defined(__sun) || defined(__hpux) +/* Following definition aliases fopen to fopen64 on above mentioned + * platforms. This makes it possible to open and sequentially access + * files larger than 2GB from 32-bit application. It does not allow to + * traverse them beyond 2GB with fseek/ftell, but on the other hand *no* + * 32-bit platform permits that, not with fseek/ftell. Not to mention + * that breaking 2GB limit for seeking would require surgery to *our* + * API. But sequential access suffices for practical cases when you + * can run into large files, such as fingerprinting, so we can let API + * alone. For reference, the list of 32-bit platforms which allow for + * sequential access of large files without extra "magic" comprise *BSD, + * Darwin, IRIX... + */ +#ifndef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif +#endif + #include <stdio.h> #include <errno.h> #include "cryptlib.h" |