Push the line buffer filter on the out BIO on VMS

VMS files are normally record oriented rather than stream oriented.
This means that every write() will create a new record, which is seen
as a line of its own, regardless of if there was a \n in there or not.
bntest uses BN_print, which prints out number with more than one
write(), thereby dividing up the numbers in several lines, which
greatly disturbs the post-bntest checks that expect to find a full
formula to calculate on one line.

So, for VMS, we need to push the linebuffer filter on the out BIO.

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Richard Levitte 2015-04-30 19:52:36 +02:00
parent 8368d46bca
commit ca904707b6

View File

@ -175,6 +175,12 @@ int main(int argc, char *argv[])
EXIT(1);
}
}
#ifdef OPENSSL_SYS_VMS
{
BIO *tmpbio = BIO_new(BIO_f_linebuffer());
out = BIO_push(tmpbio, out);
}
#endif
if (!results)
BIO_puts(out, "obase=16\nibase=16\n");