summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/bio/bss_file.c
diff options
context:
space:
mode:
authormarkus <>2003-11-11 21:21:30 +0000
committermarkus <>2003-11-11 21:21:30 +0000
commit9c1aa44a1eacea897c0432e796b205b8484ff4d2 (patch)
tree5dcca7a2baa0fb63d6886729918ea26b68578561 /src/lib/libcrypto/bio/bss_file.c
parent1c98a87f0daac81245653c227eb2f2508a22a965 (diff)
downloadopenbsd-9c1aa44a1eacea897c0432e796b205b8484ff4d2.tar.gz
openbsd-9c1aa44a1eacea897c0432e796b205b8484ff4d2.tar.bz2
openbsd-9c1aa44a1eacea897c0432e796b205b8484ff4d2.zip
import 0.9.7c
Diffstat (limited to 'src/lib/libcrypto/bio/bss_file.c')
-rw-r--r--src/lib/libcrypto/bio/bss_file.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/lib/libcrypto/bio/bss_file.c b/src/lib/libcrypto/bio/bss_file.c
index a66600c1a3..6904b5c081 100644
--- a/src/lib/libcrypto/bio/bss_file.c
+++ b/src/lib/libcrypto/bio/bss_file.c
@@ -213,12 +213,29 @@ 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#if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) 216#if defined(OPENSSL_SYS_WINDOWS)
217 /* Set correct text/binary mode */
218 if (num & BIO_FP_TEXT) 217 if (num & BIO_FP_TEXT)
219 _setmode(fileno((FILE *)ptr),_O_TEXT); 218 _setmode(fileno((FILE *)ptr),_O_TEXT);
220 else 219 else
221 _setmode(fileno((FILE *)ptr),_O_BINARY); 220 _setmode(fileno((FILE *)ptr),_O_BINARY);
221#elif defined(OPENSSL_SYS_MSDOS)
222 {
223 int fd = fileno((FILE*)ptr);
224 /* Set correct text/binary mode */
225 if (num & BIO_FP_TEXT)
226 _setmode(fd,_O_TEXT);
227 /* Dangerous to set stdin/stdout to raw (unless redirected) */
228 else
229 {
230 if (fd == STDIN_FILENO || fd == STDOUT_FILENO)
231 {
232 if (isatty(fd) <= 0)
233 _setmode(fd,_O_BINARY);
234 }
235 else
236 _setmode(fd,_O_BINARY);
237 }
238 }
222#elif defined(OPENSSL_SYS_OS2) 239#elif defined(OPENSSL_SYS_OS2)
223 if (num & BIO_FP_TEXT) 240 if (num & BIO_FP_TEXT)
224 setmode(fileno((FILE *)ptr), O_TEXT); 241 setmode(fileno((FILE *)ptr), O_TEXT);