home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / BDSC / BDSC-3 / ECHO.C < prev    next >
Text File  |  2000-06-30  |  1KB  |  73 lines

  1. /*
  2.     ECHO.C
  3.     Written by Leor Zolman, 3/82
  4.  
  5.     Gives display of computed command line, after WILDEXP has been
  6.     applied. Can be used in conjunction with directed output to yield
  7.     a file containing the disk directory for the current drive and user
  8.     area, or just to check which files match a given wildcard pattern
  9.     before using the wildcard in an actual command such as "cp".
  10.  
  11.     link by:
  12.         A>clink echo wildexp -f dio
  13.     (or)    A>l2 echo wildexp dio
  14. */
  15.  
  16. #include "bdscio.h"
  17. #include "dio.h"
  18.  
  19. main(argc,argv)
  20. char **argv;
  21. {
  22.     char c;
  23.     int count, colno, i;
  24.     wildexp(&argc,&argv);
  25.     dioinit(&argc,argv);
  26.  
  27.     colno = 1;
  28.     
  29.     puts("Drive: ");
  30.     putchar(bdos(25) + 'A');
  31.  
  32.     puts("   User area: "); putdec(bdos(32,0xff));
  33.     puts("   Count = "); putdec(argc - 1);
  34.     puts("\n\n");
  35.  
  36.     while (argv++,--argc)
  37.     {
  38.         count = 0;
  39.         while (c = *(*argv)++)
  40.             putchar(tolower(c)),count++;
  41.         for (i = count; i < 15; i++) putchar(' ');
  42.         if ((colno += 15) > 65)
  43.             putchar('\n'),colno = 1;
  44.     }
  45.     putchar('\n');
  46.     dioflush();
  47. }
  48.  
  49. putdec(n)
  50. {
  51.     int pow10;
  52.     char pflag;
  53.  
  54.     pflag = 0;
  55.  
  56.     if (n < 0)
  57.     {
  58.         n = -n;
  59.         putchar('-');
  60.     }
  61.  
  62.     for (pow10 = 10000; pow10; pow10 /= 10)
  63.     {
  64.         if ((n > pow10 - 1) || pflag) 
  65.         {
  66.             putchar(n/pow10 + '0');
  67.             pflag = 1;
  68.             n -= n/pow10 * pow10;
  69.         }
  70.     }
  71.     if (!pflag) putchar('0');
  72. }
  73.