mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
This is a revert of my previous commit to "improve" the declaration of
constant BIGNUMs. It turns out that this trips up different but equally useful compiler warnings to -Wcast-qual, and so wasn't worth the ugliness it created. (Thanks to Ulf for the forehead-slap.)
This commit is contained in:
parent
078dd1a0f9
commit
0ef85c7f45
@ -252,27 +252,6 @@ typedef struct bignum_st
|
||||
int flags;
|
||||
} BIGNUM;
|
||||
|
||||
/* Declaring static BIGNUMs as constant is tricky in C; the 'd' data can't be
|
||||
* pre-declared const without having to cast away the const when declaring the
|
||||
* BIGNUM. We use this alternative type for declaring const BIGNUMs. See
|
||||
* bn_nist.c for examples. */
|
||||
typedef struct bignum_c_st
|
||||
{
|
||||
const BN_ULONG *d;
|
||||
int top;
|
||||
int dmax;
|
||||
int neg;
|
||||
int flags;
|
||||
} BIGNUM_C;
|
||||
#ifdef BN_DEBUG
|
||||
/* Use a function to do this so that we can type-check the pointer we're
|
||||
* casting */
|
||||
const BIGNUM *BIGNUM_CONST(const BIGNUM_C *bn);
|
||||
#else
|
||||
/* Use a macro instead */
|
||||
#define BIGNUM_CONST(bn) ((const BIGNUM *)bn)
|
||||
#endif
|
||||
|
||||
/* Used for temp variables (declaration hidden in bn_lcl.h) */
|
||||
typedef struct bignum_ctx BN_CTX;
|
||||
|
||||
|
@ -887,11 +887,3 @@ int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b,
|
||||
}
|
||||
return bn_cmp_words(a,b,cl);
|
||||
}
|
||||
|
||||
/* See the comments surrounding BIGNUM_C in bn.h */
|
||||
#ifdef BN_DEBUG
|
||||
const BIGNUM *BIGNUM_CONST(const BIGNUM_C *bn)
|
||||
{
|
||||
return (const BIGNUM *)bn;
|
||||
}
|
||||
#endif
|
||||
|
@ -127,40 +127,39 @@ const static BN_ULONG _nist_p_521[] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
|
||||
0xFF,0x01};
|
||||
#endif
|
||||
|
||||
static const BIGNUM_C bn_nist_p_192 =
|
||||
{ _nist_p_192, BN_NIST_192_TOP, BN_NIST_192_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
static const BIGNUM_C bn_nist_p_224 =
|
||||
{ _nist_p_224, BN_NIST_224_TOP, BN_NIST_224_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
static const BIGNUM_C bn_nist_p_256 =
|
||||
{ _nist_p_256, BN_NIST_256_TOP, BN_NIST_256_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
static const BIGNUM_C bn_nist_p_384 =
|
||||
{ _nist_p_384, BN_NIST_384_TOP, BN_NIST_384_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
static const BIGNUM_C bn_nist_p_521 =
|
||||
{ _nist_p_521, BN_NIST_521_TOP, BN_NIST_521_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
|
||||
const BIGNUM *BN_get0_nist_prime_192(void)
|
||||
{
|
||||
return BIGNUM_CONST(&bn_nist_p_192);
|
||||
static BIGNUM const_nist_192 = { (BN_ULONG *)_nist_p_192,
|
||||
BN_NIST_192_TOP, BN_NIST_192_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
return &const_nist_192;
|
||||
}
|
||||
|
||||
const BIGNUM *BN_get0_nist_prime_224(void)
|
||||
{
|
||||
return BIGNUM_CONST(&bn_nist_p_224);
|
||||
static BIGNUM const_nist_224 = { (BN_ULONG *)_nist_p_224,
|
||||
BN_NIST_224_TOP, BN_NIST_224_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
return &const_nist_224;
|
||||
}
|
||||
|
||||
const BIGNUM *BN_get0_nist_prime_256(void)
|
||||
{
|
||||
return BIGNUM_CONST(&bn_nist_p_256);
|
||||
static BIGNUM const_nist_256 = { (BN_ULONG *)_nist_p_256,
|
||||
BN_NIST_256_TOP, BN_NIST_256_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
return &const_nist_256;
|
||||
}
|
||||
|
||||
const BIGNUM *BN_get0_nist_prime_384(void)
|
||||
{
|
||||
return BIGNUM_CONST(&bn_nist_p_384);
|
||||
static BIGNUM const_nist_384 = { (BN_ULONG *)_nist_p_384,
|
||||
BN_NIST_384_TOP, BN_NIST_384_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
return &const_nist_384;
|
||||
}
|
||||
|
||||
const BIGNUM *BN_get0_nist_prime_521(void)
|
||||
{
|
||||
return BIGNUM_CONST(&bn_nist_p_521);
|
||||
static BIGNUM const_nist_521 = { (BN_ULONG *)_nist_p_521,
|
||||
BN_NIST_521_TOP, BN_NIST_521_TOP, 0, BN_FLG_STATIC_DATA };
|
||||
return &const_nist_521;
|
||||
}
|
||||
|
||||
/* some misc internal functions */
|
||||
|
Loading…
Reference in New Issue
Block a user