From: Andy Polyakov Date: Thu, 22 Jul 2004 09:32:11 +0000 (+0000) Subject: All SIXTY_FOUR_BIT platforms (mind the difference between SIXTY_FOUR_BIT and X-Git-Tag: BEN_FIPS_TEST_6~14^2~147 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8169dd73f90df9acaebb601bde2bbb0d36bf9893;p=oweals%2Fopenssl.git All SIXTY_FOUR_BIT platforms (mind the difference between SIXTY_FOUR_BIT and SIXTY_FOUR_BIT_LONG) were failing to pass 'cd test; make test_bn'. --- diff --git a/crypto/bn/bntest.c b/crypto/bn/bntest.c index d4cb92f847..9169cc8813 100644 --- a/crypto/bn/bntest.c +++ b/crypto/bn/bntest.c @@ -468,6 +468,22 @@ int test_div(BIO *bp, BN_CTX *ctx) return(1); } +static void print_word(BIO *bp,BN_ULONG w) + { +#ifdef SIXTY_FOUR_BIT + if (sizeof(w) > sizeof(unsigned long)) + { + unsigned long h=(unsigned long)(w>>32), + l=(unsigned long)(w); + + if (h) BIO_printf(bp,"%lX%08lX",h,l); + else BIO_printf(bp,"%lX",l); + return; + } +#endif + BIO_printf(bp,"%lX",w); + } + int test_div_word(BIO *bp) { BIGNUM a,b; @@ -494,7 +510,7 @@ int test_div_word(BIO *bp) { BN_print(bp,&a); BIO_puts(bp," / "); - BIO_printf(bp,"%lX",s); + print_word(bp,s); BIO_puts(bp," - "); } BN_print(bp,&b); @@ -504,10 +520,10 @@ int test_div_word(BIO *bp) { BN_print(bp,&a); BIO_puts(bp," % "); - BIO_printf(bp,"%lX",s); + print_word(bp,s); BIO_puts(bp," - "); } - BIO_printf(bp,"%lX",r); + print_word(bp,r); BIO_puts(bp,"\n"); } BN_mul_word(&b,s);