RT3544: Remove MWERKS support
[openssl.git] / crypto / des / qud_cksm.c
index 5f0ec5387fab0a00bc79cbed6c0594267453f7b2..dac201227e0dfb89ec3cb2b0af2dd65f7fe18c76 100644 (file)
 /* Got the value MIT uses via brute force :-) 2/10/90 eay */
 #define NOISE  ((DES_LONG)83653421L)
 
-DES_LONG des_quad_cksum(const unsigned char *input, des_cblock output[],
-            long length, int out_count, des_cblock *seed)
+DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[],
+            long length, int out_count, DES_cblock *seed)
        {
        DES_LONG z0,z1,t0,t1;
        int i;
        long l;
        const unsigned char *cp;
 #ifdef _CRAY
-       short *lp;
+       struct lp_st { int a:32; int b:32; } *lp;
 #else
        DES_LONG *lp;
 #endif
 
        if (out_count < 1) out_count=1;
+#ifdef _CRAY
+       lp = (struct lp_st *) &(output[0])[0];
+#else
        lp = (DES_LONG *) &(output[0])[0];
+#endif
 
        z0=Q_B0((*seed)[0])|Q_B1((*seed)[1])|Q_B2((*seed)[2])|Q_B3((*seed)[3]);
        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[],
                        {
                        /* The MIT library assumes that the checksum is
                         * composed of 2*out_count 32 bit ints */
+#ifdef _CRAY
+                       (*lp).a = z0;
+                       (*lp).b = z1;
+                       lp++;
+#else
                        *lp++ = z0;
                        *lp++ = z1;
+#endif
                        }
                }
        return(z0);