mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-04-18 03:28:07 -05:00
It looks like Visual C (or whatever the Windows snapshots are built with)
objects to incomplete static array declarations, which I introduced to work around a bug in SC/MrC. Use #ifdefs to decide whether to enable the workaround or not. [originally from svn r2488]
This commit is contained in:
parent
8345377529
commit
db9edaf8c9
14
sshaes.c
14
sshaes.c
@ -61,9 +61,23 @@ struct AESContext {
|
|||||||
int Nb, Nr;
|
int Nb, Nr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Apple's SC 8.8.4f1 and MrC 4.1.0f1c1 refuse to handle these if
|
||||||
|
* they've got dimensions (they claim "already defined" when the
|
||||||
|
* arrays are actually defined). Microsoft Visual C refuses to handle
|
||||||
|
* them without ("unknown size"). Bah.
|
||||||
|
*
|
||||||
|
* K&R2 A10.2 says both are OK, of course.
|
||||||
|
*/
|
||||||
|
#if defined __SC__ || defined __MRC__
|
||||||
static const unsigned char Sbox[], Sboxinv[];
|
static const unsigned char Sbox[], Sboxinv[];
|
||||||
static const word32 E0[], E1[], E2[], E3[];
|
static const word32 E0[], E1[], E2[], E3[];
|
||||||
static const word32 D0[], D1[], D2[], D3[];
|
static const word32 D0[], D1[], D2[], D3[];
|
||||||
|
#else
|
||||||
|
static const unsigned char Sbox[256], Sboxinv[256];
|
||||||
|
static const word32 E0[256], E1[256], E2[256], E3[256];
|
||||||
|
static const word32 D0[256], D1[256], D2[256], D3[256];
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Common macros in both the encryption and decryption routines.
|
* Common macros in both the encryption and decryption routines.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user