提交 0ef85c7f 编写于 作者: G Geoff Thorpe

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.)
上级 078dd1a0
......@@ -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 */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册