diff options
Diffstat (limited to 'generator')
-rw-r--r-- | generator/pgmcrater.c | 3 | ||||
-rw-r--r-- | generator/pgmnoise.c | 6 | ||||
-rw-r--r-- | generator/ppmforge.c | 3 |
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(); |