home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / compiler / small_c / cb / sources / settab.c < prev    next >
Encoding:
C/C++ Source or Header  |  1985-07-22  |  896 b   |  40 lines

  1.  
  2. /*
  3. ** settab.c -- search command line for tab list possibly
  4. **             terminated with an interval (+n) and set up
  5. **             tabs[MAXLINE+1]
  6. */
  7. #define DEFTAB 8
  8. settab(tabs, argc, argv) char tabs[]; int argc, *argv; {
  9.   int i, j, k;
  10.   char parm[9];
  11.   i=0;
  12.   while(++i<MAXLINE) tabs[i]=NO;
  13.   if((getarg(1, parm, 9, argc, argv))==EOF) {
  14.     i=0;
  15.     while(++i<MAXLINE)
  16.     if((i%DEFTAB)==1) tabs[i]=YES;
  17.     return YES;
  18.     }
  19.   i=0;
  20.   j=1;
  21.   while(getarg(++i, parm, 9, argc, argv)!=EOF) {
  22.     if(utoi(parm, &k)) {
  23.       if(k<=MAXLINE) {
  24.         tabs[k]=YES;
  25.         j=k;
  26.         }
  27.       else {
  28.         fputs("tab stop beyond max line length\n", stderr);
  29.         return ERR;
  30.         }
  31.       }
  32.     else if(parm[0]=='+') {
  33.       if(utoi((parm+1), &k))
  34.         while((j=j+k)<=MAXLINE) tabs[j]=YES;  
  35.       }
  36.     else return ERR;
  37.     }
  38.   return YES;
  39.   }
  40.