home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 154_01 / detab.c < prev    next >
Text File  |  1979-12-31  |  640b  |  43 lines

  1. /*
  2.     detab.c:  change tabs to blanks appropriately -
  3.           (uses standard i/o only)
  4. */
  5.  
  6. #include <stdio.h>
  7.  
  8. #define TABSPACE 4
  9. #define MAXLINE 256
  10.  
  11. main()
  12. {
  13.     int c, col, tabstops[MAXLINE];
  14.  
  15.     settabs(tabstops);
  16.     col = 1;
  17.     while ((c = getchar()) != EOF) 
  18.         if (c == '\t')
  19.             do {
  20.                 putchar(' ');
  21.                 ++col;
  22.             } while (!tabstops[col]);
  23.         else if (c == '\n')
  24.         {
  25.             putchar('\n');
  26.             col = 1;
  27.         }
  28.         else
  29.         {
  30.             putchar(c);
  31.             ++col;
  32.         }
  33. }
  34.  
  35. settabs(tabstops)
  36. int tabstops[];
  37. {
  38.     int i;
  39.  
  40.     for (i = 0; i < MAXLINE; ++i)
  41.         tabstops[i] = (i % TABSPACE == 1);
  42. }
  43.