Return an error if no recipient type matches.
[openssl.git] / crypto / rc2 / rc2_skey.c
index 0f1f25339592d55611f43a032bc4a85ea828df15..0150b0e0352cf1c580bd4e9fb46a2fb66ae6e3c1 100644 (file)
  * [including the GNU Public Licence.]
  */
 
-#include "rc2.h"
+#include <openssl/rc2.h>
 #include "rc2_locl.h"
 
-static unsigned char key_table[256]={
+static const unsigned char key_table[256]={
        0xd9,0x78,0xf9,0xc4,0x19,0xdd,0xb5,0xed,0x28,0xe9,0xfd,0x79,
        0x4a,0xa0,0xd8,0x9d,0xc6,0x7e,0x37,0x83,0x2b,0x76,0x53,0x8e,
        0x62,0x4c,0x64,0x88,0x44,0x8b,0xfb,0xa2,0x17,0x9a,0x59,0xf5,
@@ -84,17 +84,17 @@ static unsigned char key_table[256]={
        0xfe,0x7f,0xc1,0xad,
        };
 
+#if defined(_MSC_VER) && defined(_ARM_)
+#pragma optimize("g",off)
+#endif
+
 /* It has come to my attention that there are 2 versions of the RC2
  * key schedule.  One which is normal, and anther which has a hook to
  * use a reduced key length.
  * BSAFE uses the 'retarded' version.  What I previously shipped is
  * the same as specifying 1024 for the 'bits' parameter.  Bsafe uses
  * a version where the bits parameter is the same as len*8 */
-void RC2_set_key(key,len,data,bits)
-RC2_KEY *key;
-int len;
-unsigned char *data;
-int bits;
+void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits)
        {
        int i,j;
        unsigned char *k;
@@ -140,3 +140,6 @@ int bits;
                *(ki--)=((k[i]<<8)|k[i-1])&0xffff;
        }
 
+#if defined(_MSC_VER)
+#pragma optimize("",on)
+#endif