about summary refs log tree commit diff
path: root/generator/pgmnoise.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2006-10-02 03:42:10 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2006-10-02 03:42:10 +0000
commit0bf54ddfa2a0efcf6142ad1292abbfa26fe0bee3 (patch)
tree5e1255181517b72c3c5670da6be95e5ba8624614 /generator/pgmnoise.c
parent9184208ec40610f6856907fa00d814ae093d3e3b (diff)
downloadnetpbm-mirror-0bf54ddfa2a0efcf6142ad1292abbfa26fe0bee3.tar.gz
netpbm-mirror-0bf54ddfa2a0efcf6142ad1292abbfa26fe0bee3.tar.xz
netpbm-mirror-0bf54ddfa2a0efcf6142ad1292abbfa26fe0bee3.zip
cleanup
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@82 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'generator/pgmnoise.c')
-rw-r--r--generator/pgmnoise.c115
1 files changed, 52 insertions, 63 deletions
diff --git a/generator/pgmnoise.c b/generator/pgmnoise.c
index 3929759b..643f260f 100644
--- a/generator/pgmnoise.c
+++ b/generator/pgmnoise.c
@@ -11,67 +11,56 @@
 
 #include "pgm.h"
 
-/* global variables */
-#ifdef AMIGA
-static char *version = "$VER: pgmnoise 1.1 (16.11.93)"; /* Amiga version identification */
-#endif
-
-/**************************/
-/* start of main function */
-/**************************/
-int main(argc, argv)
-int argc;
-char *argv[];
-{
-	int argn, rows, cols, i, j;
-	gray *destrow;
-	const char * const usage = "width height\n        width and height are picture dimensions in pixels\n";
-	time_t timenow;
-
-	/* parse in 'default' parameters */
-	pgm_init(&argc, argv);
-
-	argn = 1;
-
-	/* parse in dim factor */
-	if (argn == argc)
-		pm_usage(usage);
-	if (sscanf(argv[argn], "%d", &cols) != 1)
-		pm_usage(usage);
-	argn++;
-	if (argn == argc)
-		pm_usage(usage);
-	if (sscanf(argv[argn], "%d", &rows) != 1)
-		pm_usage(usage);
-
-	if (cols <= 0 || rows <= 0)
-		pm_error("picture dimensions should be positive numbers");
-	++argn;
-
-	if (argn != argc)
-		pm_usage(usage);
-
-	/* no error checking required here, ppmlib does it all for us */
-	destrow = pgm_allocrow(cols);
-
-	pgm_writepgminit(stdout, cols, rows, PGM_MAXMAXVAL, 0);
-
-	/* get time of day to feed the random number generator */
-	timenow = time(NULL);
-	srand(timenow);
-
-	/* create the (gray) noise */
-	for (i = 0; i < rows; i++)
-	{
-		for (j = 0; j < cols; j++)
-			destrow[j] = rand() % PGM_MAXMAXVAL;
-
-		/* write out one line of graphic data */
-		pgm_writepgmrow(stdout, destrow, cols, PGM_MAXMAXVAL, 0);
-	}
-
-	pgm_freerow(destrow);
-
-	exit(0);
-}
 
+int main(int    argc,
+         char * argv[]) {
+
+    int argn, rows, cols;
+    unsigned int row;
+    gray * destrow;
+
+    const char * const usage = "width height\n        width and height are picture dimensions in pixels\n";
+
+    /* parse in 'default' parameters */
+    pgm_init(&argc, argv);
+
+    argn = 1;
+
+    /* parse in dim factor */
+    if (argn == argc)
+        pm_usage(usage);
+    if (sscanf(argv[argn], "%d", &cols) != 1)
+        pm_usage(usage);
+    argn++;
+    if (argn == argc)
+        pm_usage(usage);
+    if (sscanf(argv[argn], "%d", &rows) != 1)
+        pm_usage(usage);
+
+    if (cols <= 0 || rows <= 0)
+        pm_error("picture dimensions should be positive numbers");
+    ++argn;
+
+    if (argn != argc)
+        pm_usage(usage);
+
+    destrow = pgm_allocrow(cols);
+
+    pgm_writepgminit(stdout, cols, rows, PGM_MAXMAXVAL, 0);
+
+    srand(pm_randseed());
+
+    /* create the (gray) noise */
+
+    for (row = 0; row < rows; ++row) {
+        unsigned int col;
+        for (col = 0; col < cols; ++col)
+            destrow[col] = rand() % PGM_MAXMAXVAL;
+
+        pgm_writepgmrow(stdout, destrow, cols, PGM_MAXMAXVAL, 0);
+    }
+
+    pgm_freerow(destrow);
+
+    return 0;
+}