Stop the analysis pass in Loopy's redraw routine from being
[sgt/puzzles] / random.c
index 107649c..6d278a4 100644 (file)
--- a/random.c
+++ b/random.c
@@ -207,7 +207,7 @@ struct random_state {
     int pos;
 };
 
-random_state *random_init(char *seed, int len)
+random_state *random_new(char *seed, int len)
 {
     random_state *state;
 
@@ -221,6 +221,16 @@ random_state *random_init(char *seed, int len)
     return state;
 }
 
+random_state *random_copy(random_state *tocopy)
+{
+    random_state *result;
+    result = snew(random_state);
+    memcpy(result->seedbuf, tocopy->seedbuf, sizeof(result->seedbuf));
+    memcpy(result->databuf, tocopy->databuf, sizeof(result->databuf));
+    result->pos = tocopy->pos;
+    return result;
+}
+
 unsigned long random_bits(random_state *state, int bits)
 {
     unsigned long ret = 0;