about summary refs log tree commit diff
path: root/generator
diff options
context:
space:
mode:
Diffstat (limited to 'generator')
-rw-r--r--generator/pgmcrater.c3
-rw-r--r--generator/pgmnoise.c6
-rw-r--r--generator/ppmforge.c3
3 files changed, 8 insertions, 4 deletions
diff --git a/generator/pgmcrater.c b/generator/pgmcrater.c
index 1833e604..a48f3de1 100644
--- a/generator/pgmcrater.c
+++ b/generator/pgmcrater.c
@@ -53,6 +53,7 @@
 
 #include <assert.h>
 #include <math.h>
+#include <unistd.h>
 
 #include "pm_c_util.h"
 #include "pgm.h"
@@ -108,7 +109,7 @@ static void initseed()
 {
     int i;
 
-    i = time(NULL) * 0xF37C;
+    i = time(NULL) ^ getpid();
     srand(i);
     for (i = 0; i < 7; i++) 
         V rand();
diff --git a/generator/pgmnoise.c b/generator/pgmnoise.c
index 3929759b..708d0cd9 100644
--- a/generator/pgmnoise.c
+++ b/generator/pgmnoise.c
@@ -9,6 +9,8 @@
 /* V1.1 16.11.1993  Rewritten to be NetPBM.programming conforming    */
 /*********************************************************************/
 
+#include <unistd.h>
+
 #include "pgm.h"
 
 /* global variables */
@@ -58,13 +60,13 @@ char *argv[];
 
 	/* get time of day to feed the random number generator */
 	timenow = time(NULL);
-	srand(timenow);
+	srand(timenow ^ getpid());
 
 	/* create the (gray) noise */
 	for (i = 0; i < rows; i++)
 	{
 		for (j = 0; j < cols; j++)
-			destrow[j] = rand() % PGM_MAXMAXVAL;
+			destrow[j] = rand() % (PGM_MAXMAXVAL+1);
 
 		/* write out one line of graphic data */
 		pgm_writepgmrow(stdout, destrow, cols, PGM_MAXMAXVAL, 0);
diff --git a/generator/ppmforge.c b/generator/ppmforge.c
index 64b1ad79..fcbbc1f1 100644
--- a/generator/ppmforge.c
+++ b/generator/ppmforge.c
@@ -35,6 +35,7 @@
 
 #include <math.h>
 #include <assert.h>
+#include <unistd.h>
 
 #include "pm_c_util.h"
 #include "ppm.h"
@@ -284,7 +285,7 @@ initseed(void) {
 
     int i;
 
-    i = time(NULL) ^ 0xF37C;
+    i = time(NULL) ^ getpid();
     srand(i);
     for (i = 0; i < 7; ++i)
         rand();