As ftruncate is not availabe on all platforms, switch back to
[oweals/openssl.git] / crypto / des / rand_key.c
index feb7ba75bcb820c360f55a94d590290a8a7586cd..2032c59df6f3e4a87b6da85900f4f4851d5d90ec 100644 (file)
@@ -1,5 +1,5 @@
 /* crypto/des/rand_key.c */
-/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
  * This package is an SSL implementation written
 static int seed=0;
 static des_cblock init;
 
-void des_random_seed(key)
-des_cblock key;
+void des_random_seed(des_cblock *key)
        {
-       memcpy(init,key,sizeof(des_cblock));
+       memcpy(&init,key,sizeof(des_cblock));
        seed=1;
        }
 
-void des_random_key(ret)
-unsigned char *ret;
+void des_random_key(des_cblock *ret)
        {
        des_key_schedule ks;
        static DES_LONG c=0;
@@ -101,15 +99,13 @@ unsigned char *ret;
        t=(DES_LONG)((pid)|((c++)<<16));
        l2c(t,p);
 
-       des_set_odd_parity((des_cblock *)data);
-       des_set_key((des_cblock *)data,ks);
-       des_cbc_cksum((des_cblock *)key,(des_cblock *)key,
-               (long)sizeof(key),ks,(des_cblock *)data);
+       des_set_odd_parity(&data);
+       des_set_key_unchecked(&data,ks);
+       des_cbc_cksum(key,&key,sizeof(key),ks,&data);
 
-       des_set_odd_parity((des_cblock *)key);
-       des_set_key((des_cblock *)key,ks);
-       des_cbc_cksum((des_cblock *)key,(des_cblock *)data,
-               (long)sizeof(key),ks,(des_cblock *)key);
+       des_set_odd_parity(&key);
+       des_set_key_unchecked(&key,ks);
+       des_cbc_cksum(key,&data,sizeof(key),ks,&key);
 
        memcpy(ret,data,sizeof(key));
        memset(key,0,sizeof(key));