As ftruncate is not availabe on all platforms, switch back to
[oweals/openssl.git] / crypto / des / rand_key.c
index 8259f1a84905b4a8949add82da96210bd6a100e7..2032c59df6f3e4a87b6da85900f4f4851d5d90ec 100644 (file)
 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,13 +99,13 @@ unsigned char *ret;
        t=(DES_LONG)((pid)|((c++)<<16));
        l2c(t,p);
 
-       des_set_odd_parity(data);
-       des_set_key(data,ks);
-       des_cbc_cksum(key,key,sizeof(key),ks,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(key);
-       des_set_key(key,ks);
-       des_cbc_cksum(key,data,sizeof(key),ks,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));