mirror of
https://github.com/python/cpython.git
synced 2024-12-15 12:54:31 +08:00
Replace <<-13 by >>13. Leave old code in #ifdef BUGGY_CODE_BW_COMPAT.
This commit is contained in:
parent
13ecc7a1a2
commit
0667626694
@ -158,11 +158,26 @@ char *key;
|
|||||||
int i;
|
int i;
|
||||||
int len=strlen(key);
|
int len=strlen(key);
|
||||||
for (i=0;i<len;i++) {
|
for (i=0;i<len;i++) {
|
||||||
|
#ifdef BUGGY_CODE_BW_COMPAT
|
||||||
|
/* This is the code as it was originally released.
|
||||||
|
It causes warnings on many systems and can generate
|
||||||
|
different results as well. If you have files
|
||||||
|
encrypted using an older version you may want to
|
||||||
|
#define BUGGY_CODE_BW_COMPAT so as to be able to
|
||||||
|
decrypt them... */
|
||||||
k1 = (((k1<<3 | k1<<-13) + key[i]) & 65535);
|
k1 = (((k1<<3 | k1<<-13) + key[i]) & 65535);
|
||||||
k2 = (((k2<<3 | k2<<-13) ^ key[i]) & 65535);
|
k2 = (((k2<<3 | k2<<-13) ^ key[i]) & 65535);
|
||||||
k3 = (((k3<<3 | k3<<-13) - key[i]) & 65535);
|
k3 = (((k3<<3 | k3<<-13) - key[i]) & 65535);
|
||||||
k4 = ((key[i] - (k4<<3 | k4<<-13)) & 65535);
|
k4 = ((key[i] - (k4<<3 | k4<<-13)) & 65535);
|
||||||
k5 = (((k5<<3 | k5<<-13) ^ ~key[i]) & 65535);
|
k5 = (((k5<<3 | k5<<-13) ^ ~key[i]) & 65535);
|
||||||
|
#else
|
||||||
|
/* This code should be more portable */
|
||||||
|
k1 = (((k1<<3 | k1>>13) + key[i]) & 65535);
|
||||||
|
k2 = (((k2<<3 | k2>>13) ^ key[i]) & 65535);
|
||||||
|
k3 = (((k3<<3 | k3>>13) - key[i]) & 65535);
|
||||||
|
k4 = ((key[i] - (k4<<3 | k4>>13)) & 65535);
|
||||||
|
k5 = (((k5<<3 | k5>>13) ^ ~key[i]) & 65535);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
r->key[0] = (short)k1;
|
r->key[0] = (short)k1;
|
||||||
r->key[1] = (short)(k2|1);
|
r->key[1] = (short)(k2|1);
|
||||||
|
Loading…
Reference in New Issue
Block a user