Michael Bonfils wrote:
>
> Thanks
>
> but I believe it's not this problem because the following code works :
> BIO *fsource, *fcible, *f_b64;
>
> f_b64 = BIO_new(BIO_f_base64());
> fsource=BIO_new( BIO_s_file() );
> fcible=BIO_new( BIO_s_file() );
> fcible=BIO_push(f_b64, fcible );
> BIO_read_filename (fsource, source);
> BIO_write_filename(fcible, cible);
>
> unsigned char buffer[512];
> int lu, ecrit;
>
> do
> {
> lu=BIO_read(fsource, buffer, 512);
> if (lu>0 ) ecrit=BIO_write( fcible, buffer, lu);
> }
> while( lu==512 );
>
> BIO_flush(fcible);
>
> BIO_free( fsource );
> BIO_free( fcible );
The problem I was directing you to is that you may not be using the
multithreaded runtime DLL option /MD when compiling your first example.
Without that you get a runtime library conflict and unpredictable
results, typically crashes when stdio is attempted.
If you are using the /MD flag then something else is responsible.
Steve.
--
Dr Stephen N. Henson. http://www.drh-consultancy.demon.co.uk/
Personal Email: [EMAIL PROTECTED]
Senior crypto engineer, Celo Communications: http://www.celocom.com/
Core developer of the OpenSSL project: http://www.openssl.org/
Business Email: [EMAIL PROTECTED] PGP key: via homepage.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]