shithub: puzzles

Download patch

ref: 49fdcd1ed465e2ad2b8622eb1647eb5e0f8d6608
parent: 80aa8bafb1d20bc0b2fea6b5c928db58a93c851f
author: Simon Tatham <[email protected]>
date: Mon May 23 08:02:37 EDT 2005

Avoid leading zeroes on internally generated random seeds, _just_ in
case they confuse anyone who expects the same seed without the
leading zero to be equivalent.

[originally from svn r5838]

--- a/midend.c
+++ b/midend.c
@@ -135,11 +135,16 @@
             /*
              * Generate a new random seed. 15 digits comes to about
              * 48 bits, which should be more than enough.
+             * 
+             * I'll avoid putting a leading zero on the number,
+             * just in case it confuses anybody who thinks it's
+             * processed as an integer rather than a string.
              */
             char newseed[16];
             int i;
             newseed[15] = '\0';
-            for (i = 0; i < 15; i++)
+            newseed[0] = '1' + random_upto(me->random, 9);
+            for (i = 1; i < 15; i++)
                 newseed[i] = '0' + random_upto(me->random, 10);
             sfree(me->seedstr);
             me->seedstr = dupstr(newseed);