Index: openssl/crypto/bn/bn_lib.c |
=================================================================== |
--- openssl/crypto/bn/bn_lib.c (revision 105093) |
+++ openssl/crypto/bn/bn_lib.c (working copy) |
@@ -133,15 +133,34 @@ |
const BIGNUM *BN_value_one(void) |
{ |
- static BN_ULONG data_one=1L; |
- static BIGNUM const_one={&data_one,1,1,0,BN_FLG_STATIC_DATA}; |
+ static const BN_ULONG data_one=1L; |
+ static const BIGNUM const_one={(BN_ULONG *)&data_one,1,1,0,BN_FLG_STATIC_DATA}; |
return(&const_one); |
} |
+char *BN_options(void) |
+ { |
+ static int init=0; |
+ static char data[16]; |
+ |
+ if (!init) |
+ { |
+ init++; |
+#ifdef BN_LLONG |
+ BIO_snprintf(data,sizeof data,"bn(%d,%d)", |
+ (int)sizeof(BN_ULLONG)*8,(int)sizeof(BN_ULONG)*8); |
+#else |
+ BIO_snprintf(data,sizeof data,"bn(%d,%d)", |
+ (int)sizeof(BN_ULONG)*8,(int)sizeof(BN_ULONG)*8); |
+#endif |
+ } |
+ return(data); |
+ } |
+ |
int BN_num_bits_word(BN_ULONG l) |
{ |
- static const char bits[256]={ |
+ static const unsigned char bits[256]={ |
0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4, |
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, |
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, |
@@ -216,7 +235,7 @@ |
else |
#endif |
{ |
-#if defined(SIXTEEN_BIT) || defined(THIRTY_TWO_BIT) || defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG) |
+#if defined(THIRTY_TWO_BIT) || defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG) |
if (l & 0xff00L) |
return(bits[(int)(l>>8)]+8); |
else |
@@ -744,7 +763,7 @@ |
i=n/BN_BITS2; |
j=n%BN_BITS2; |
if (a->top <= i) return 0; |
- return(((a->d[i])>>j)&((BN_ULONG)1)); |
+ return (int)(((a->d[i])>>j)&((BN_ULONG)1)); |
} |
int BN_mask_bits(BIGNUM *a, int n) |