diff options
Diffstat (limited to 'src/lib/libcrypto/bio/bss_file.c')
| -rw-r--r-- | src/lib/libcrypto/bio/bss_file.c | 16 | 
1 files changed, 9 insertions, 7 deletions
| diff --git a/src/lib/libcrypto/bio/bss_file.c b/src/lib/libcrypto/bio/bss_file.c index 9cdf159f82..8034ac93f9 100644 --- a/src/lib/libcrypto/bio/bss_file.c +++ b/src/lib/libcrypto/bio/bss_file.c | |||
| @@ -213,13 +213,14 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 213 | b->shutdown=(int)num&BIO_CLOSE; | 213 | b->shutdown=(int)num&BIO_CLOSE; | 
| 214 | b->ptr=(char *)ptr; | 214 | b->ptr=(char *)ptr; | 
| 215 | b->init=1; | 215 | b->init=1; | 
| 216 | { | ||
| 216 | #if defined(OPENSSL_SYS_WINDOWS) | 217 | #if defined(OPENSSL_SYS_WINDOWS) | 
| 218 | int fd = fileno((FILE*)ptr); | ||
| 217 | if (num & BIO_FP_TEXT) | 219 | if (num & BIO_FP_TEXT) | 
| 218 | _setmode(fileno((FILE *)ptr),_O_TEXT); | 220 | _setmode(fd,_O_TEXT); | 
| 219 | else | 221 | else | 
| 220 | _setmode(fileno((FILE *)ptr),_O_BINARY); | 222 | _setmode(fd,_O_BINARY); | 
| 221 | #elif defined(OPENSSL_SYS_MSDOS) | 223 | #elif defined(OPENSSL_SYS_MSDOS) | 
| 222 | { | ||
| 223 | int fd = fileno((FILE*)ptr); | 224 | int fd = fileno((FILE*)ptr); | 
| 224 | /* Set correct text/binary mode */ | 225 | /* Set correct text/binary mode */ | 
| 225 | if (num & BIO_FP_TEXT) | 226 | if (num & BIO_FP_TEXT) | 
| @@ -235,13 +236,14 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 235 | else | 236 | else | 
| 236 | _setmode(fd,_O_BINARY); | 237 | _setmode(fd,_O_BINARY); | 
| 237 | } | 238 | } | 
| 238 | } | ||
| 239 | #elif defined(OPENSSL_SYS_OS2) | 239 | #elif defined(OPENSSL_SYS_OS2) | 
| 240 | int fd = fileno((FILE*)ptr); | ||
| 240 | if (num & BIO_FP_TEXT) | 241 | if (num & BIO_FP_TEXT) | 
| 241 | setmode(fileno((FILE *)ptr), O_TEXT); | 242 | setmode(fd, O_TEXT); | 
| 242 | else | 243 | else | 
| 243 | setmode(fileno((FILE *)ptr), O_BINARY); | 244 | setmode(fd, O_BINARY); | 
| 244 | #endif | 245 | #endif | 
| 246 | } | ||
| 245 | break; | 247 | break; | 
| 246 | case BIO_C_SET_FILENAME: | 248 | case BIO_C_SET_FILENAME: | 
| 247 | file_free(b); | 249 | file_free(b); | 
| @@ -264,7 +266,7 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 264 | ret=0; | 266 | ret=0; | 
| 265 | break; | 267 | break; | 
| 266 | } | 268 | } | 
| 267 | #if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_OS2) | 269 | #if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_WIN32_CYGWIN) | 
| 268 | if (!(num & BIO_FP_TEXT)) | 270 | if (!(num & BIO_FP_TEXT)) | 
| 269 | strcat(p,"b"); | 271 | strcat(p,"b"); | 
| 270 | else | 272 | else | 
