diff options
Diffstat (limited to 'tools/mk-tdata.c')
-rw-r--r-- | tools/mk-tdata.c | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/tools/mk-tdata.c b/tools/mk-tdata.c index 868e0ffbf..833875d28 100644 --- a/tools/mk-tdata.c +++ b/tools/mk-tdata.c @@ -1,5 +1,5 @@ /* mk-tdata.c - Create some simple random testdata - * Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + * Copyright (C) 1998, 1999, 2000, 2001, 2006 Free Software Foundation, Inc. * * This file is free software; as a special exception the author gives * unlimited permission to copy and/or distribute it, with or without @@ -13,6 +13,7 @@ #include <config.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <unistd.h> @@ -23,20 +24,44 @@ int main(int argc, char **argv) { - int i, c; - int limit =0; + int i, c = 0; + int limit =0; + int char_mode = 0; - limit = argc > 1 ? atoi(argv[1]) : 0; + if (argc) + { + argc--; + argv++; + } + + /* Check for option --char N */ + if (argc > 1 && !strcmp (argv[0], "--char")) + { + char_mode = 1; + c = strtol (argv[1], NULL, 0); + argc -= 2; + argv += 2; + } + + limit = argc ? atoi(argv[0]) : 0; - srand(getpid()); + srand(getpid()); - for(i=0; !limit || i < limit; i++ ) { + for (i=0; !limit || i < limit; i++ ) + { + if (char_mode) + { + putchar (c); + } + else + { #ifdef HAVE_RAND - c = ((unsigned)(1 + (int) (256.0*rand()/(RAND_MAX+1.0)))-1); + c = ((unsigned)(1 + (int) (256.0*rand()/(RAND_MAX+1.0)))-1); #else - c = ((unsigned)(1 + (int) (256.0*random()/(RAND_MAX+1.0)))-1); + c = ((unsigned)(1 + (int) (256.0*random()/(RAND_MAX+1.0)))-1); #endif - putchar(c); + putchar (c); + } } - return 0; + return 0; } |