aboutsummaryrefslogtreecommitdiffstats
path: root/tools/mk-tdata.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/mk-tdata.c')
-rw-r--r--tools/mk-tdata.c45
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;
}