@@ -312,7 +312,7 @@ int wolfSSL_BIO_read(WOLFSSL_BIO* bio, void* buf, int len)
312312 ret = (int )XFREAD (buf , 1 , (size_t )len , (XFILE )bio -> ptr );
313313 }
314314 else {
315- #if ! defined(USE_WINDOWS_API ) && !defined(NO_WOLFSSL_DIR ) && \
315+ #if defined(XREAD ) && !defined(NO_WOLFSSL_DIR ) && \
316316 !defined(WOLFSSL_NUCLEUS ) && !defined(WOLFSSL_NUCLEUS_1_2 )
317317 ret = (int )XREAD (bio -> num , buf , (size_t )len );
318318 #else
@@ -682,7 +682,7 @@ int wolfSSL_BIO_write(WOLFSSL_BIO* bio, const void* data, int len)
682682 ret = (int )XFWRITE (data , 1 , (size_t )len , (XFILE )bio -> ptr );
683683 }
684684 else {
685- #if ! defined(USE_WINDOWS_API ) && !defined(NO_WOLFSSL_DIR ) && \
685+ #if defined(XWRITE ) && !defined(NO_WOLFSSL_DIR ) && \
686686 !defined(WOLFSSL_NUCLEUS ) && !defined(WOLFSSL_NUCLEUS_1_2 )
687687 ret = (int )XWRITE (bio -> num , data , (size_t )len );
688688 #else
@@ -1617,7 +1617,12 @@ int wolfSSL_BIO_write_filename(WOLFSSL_BIO *bio, char *name)
16171617 XFCLOSE ((XFILE )bio -> ptr );
16181618 }
16191619
1620- bio -> ptr = XFOPEN (name , "w" );
1620+ /* 'b' flag is ignored on POSIX targets, but on Windows it assures
1621+ * inhibition of LF<->CRLF rewriting, so that there is consistency
1622+ * between the size and contents of the representation in memory and on
1623+ * disk.
1624+ */
1625+ bio -> ptr = XFOPEN (name , "wb" );
16211626 if (((XFILE )bio -> ptr ) == XBADFILE ) {
16221627 return WOLFSSL_FAILURE ;
16231628 }
0 commit comments