summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/bio/bss_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/bio/bss_file.c')
-rw-r--r--src/lib/libcrypto/bio/bss_file.c16
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