diff options
Diffstat (limited to 'src/lib/libcrypto/des/qud_cksm.c')
| -rw-r--r-- | src/lib/libcrypto/des/qud_cksm.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/libcrypto/des/qud_cksm.c b/src/lib/libcrypto/des/qud_cksm.c index 5f0ec5387f..9fff989edb 100644 --- a/src/lib/libcrypto/des/qud_cksm.c +++ b/src/lib/libcrypto/des/qud_cksm.c | |||
| @@ -81,13 +81,17 @@ DES_LONG des_quad_cksum(const unsigned char *input, des_cblock output[], | |||
| 81 | long l; | 81 | long l; |
| 82 | const unsigned char *cp; | 82 | const unsigned char *cp; |
| 83 | #ifdef _CRAY | 83 | #ifdef _CRAY |
| 84 | short *lp; | 84 | struct lp_st { int a:32; int b:32; } *lp; |
| 85 | #else | 85 | #else |
| 86 | DES_LONG *lp; | 86 | DES_LONG *lp; |
| 87 | #endif | 87 | #endif |
| 88 | 88 | ||
| 89 | if (out_count < 1) out_count=1; | 89 | if (out_count < 1) out_count=1; |
| 90 | #ifdef _CRAY | ||
| 91 | lp = (struct lp_st *) &(output[0])[0]; | ||
| 92 | #else | ||
| 90 | lp = (DES_LONG *) &(output[0])[0]; | 93 | lp = (DES_LONG *) &(output[0])[0]; |
| 94 | #endif | ||
| 91 | 95 | ||
| 92 | z0=Q_B0((*seed)[0])|Q_B1((*seed)[1])|Q_B2((*seed)[2])|Q_B3((*seed)[3]); | 96 | z0=Q_B0((*seed)[0])|Q_B1((*seed)[1])|Q_B2((*seed)[2])|Q_B3((*seed)[3]); |
| 93 | z1=Q_B0((*seed)[4])|Q_B1((*seed)[5])|Q_B2((*seed)[6])|Q_B3((*seed)[7]); | 97 | z1=Q_B0((*seed)[4])|Q_B1((*seed)[5])|Q_B2((*seed)[6])|Q_B3((*seed)[7]); |
| @@ -120,8 +124,14 @@ DES_LONG des_quad_cksum(const unsigned char *input, des_cblock output[], | |||
| 120 | { | 124 | { |
| 121 | /* The MIT library assumes that the checksum is | 125 | /* The MIT library assumes that the checksum is |
| 122 | * composed of 2*out_count 32 bit ints */ | 126 | * composed of 2*out_count 32 bit ints */ |
| 127 | #ifdef _CRAY | ||
| 128 | (*lp).a = z0; | ||
| 129 | (*lp).b = z1; | ||
| 130 | lp++; | ||
| 131 | #else | ||
| 123 | *lp++ = z0; | 132 | *lp++ = z0; |
| 124 | *lp++ = z1; | 133 | *lp++ = z1; |
| 134 | #endif | ||
| 125 | } | 135 | } |
| 126 | } | 136 | } |
| 127 | return(z0); | 137 | return(z0); |
