diff options
Diffstat (limited to 'tutorials/sndkit/morse/testgen.c')
-rw-r--r-- | tutorials/sndkit/morse/testgen.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tutorials/sndkit/morse/testgen.c b/tutorials/sndkit/morse/testgen.c new file mode 100644 index 0000000..b74df4b --- /dev/null +++ b/tutorials/sndkit/morse/testgen.c @@ -0,0 +1,65 @@ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <math.h> + +int ncodes; + +char randomlist[256]; +int nrandom = 0; + +#include "charlist.h" + +int +main (int argc, char *argv[]) +{ + int ngroups = 0, maxgroups = 20; + ncodes = strlen (Chars); + + srandom (time (0)); + + if (argc > 1) + { + parse_charlist (argv[1]); + } + else + { + strcpy (randomlist, Chars); + nrandom = strlen (randomlist); + } + + if (argc > 2) + maxgroups = atoi (argv[2]); + + if (nrandom < 2) + { + printf ("Bad character list\n"); + exit (-1); + } + + while (1) + { + int i, c; + + if (ngroups && !(ngroups % 5)) + printf ("\n"); + + if (ngroups++ >= maxgroups) + { + printf ("\n"); + exit (0); + } + + + for (i = 0; i < 5; i++) + { + c = random () % nrandom; + + printf ("%c", randomlist[c]); + } + + printf (" "); + fflush (stdout); + } +} |