#include <stdio.h>

int count = 10000;	/* How far to count between messages */
int limit = 1000;	/* How man messages before exiting */
int sleap = 0;	/* How long to sleep between messages */
char msg[] = "\rMessage %c %d.";

main(ac,av,ev)
	int   ac;
	char**av;
	char**ev;
{	int   a, c, i, n;

	for (a=1; a<ac; a++) {
		if (isdigit(av[a][0])) {
			limit = atoi(av[a]);
			continue;
		}
		switch (av[a][0]) {
		case '-':
		case '+':
			switch (av[a][1]) {
			case 'c':
			case 'C':
				if (sscanf(av[a]+2,"%d",&count) < 1)
					goto badopt;
				continue;
			case 's':
			case 'S':
				if (sscanf(av[a]+2,"%d",&sleap) < 1)
					goto badopt;
				continue;
			default:
			badopt:
				fprintf(stderr,"Unknown option \"%s\" ignored.\n",av[a]);
			}
		}
:2		fprintf(stderr,"Unknown arg \"%s\" ignored.\n",av[a]);
	}
	for (a=0; a<limit; a++) {
		switch (a & 3) {
			case 0: c = '\\'; break;
			case 1: c = '|'; break;
			case 2: c = '/'; break;
			case 3: c = '-'; break;
		}
		printf(msg,c,a);
		fflush(stdout);
		for (i=0; i<count; i++);
		if (sleap > 0)
			sleep(sleap);
	}
	putchar('\n');
	exit(0);
}
