/*
	ECHO.C
	Written by Leor Zolman, 3/82

	Gives display of computed command line, after WILDEXP has been
	applied. Can be used in conjunction with directed output to yield
	a file containing the disk directory for the current drive and user
	area, or just to check which files match a given wildcard pattern
	before using the wildcard in an actual command such as "cp".

	link by:
		A>clink echo wildexp -f dio
	(or)	A>l2 echo wildexp dio
*/

#include "bdscio.h"
#include "dio.h"

main(argc,argv)
char **argv;
{
	char c;
	int count, colno, i;
	wildexp(&argc,&argv);
	dioinit(&argc,argv);

	colno = 1;
	
	puts("Drive: ");
	putchar(bdos(25) + 'A');

	puts("   User area: "); putdec(bdos(32,0xff));
	puts("   Count = "); putdec(argc - 1);
	puts("\n\n");

	while (argv++,--argc)
	{
		count = 0;
		while (c = *(*argv)++)
			putchar(tolower(c)),count++;
		for (i = count; i < 15; i++) putchar(' ');
		if ((colno += 15) > 65)
			putchar('\n'),colno = 1;
	}
	putchar('\n');
	dioflush();
}

putdec(n)
{
	int pow10;
	char pflag;

	pflag = 0;

	if (n < 0)
	{
		n = -n;
		putchar('-');
	}

	for (pow10 = 10000; pow10; pow10 /= 10)
	{
		if ((n > pow10 - 1) || pflag) 
		{
			putchar(n/pow10 + '0');
			pflag = 1;
			n -= n/pow10 * pow10;
		}
	}
	if (!pflag) putchar('0');
}
