summaryrefslogtreecommitdiff
path: root/spacify.c
blob: a02ba31b7ffaa72528c7aee9fa9622ddb2cbeecd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[]) {
  int in,i,left,col=0,tabsize=8;
  for(left=0;(in=fgetc(stdin)) != -1;left++) {
    if(in == '\t') {
      col++;
      if(argc > col) tabsize=atoi(argv[col]);
      if(!tabsize) tabsize=8;//they did something dumb. force it to not do that.
      for(i=left%tabsize;i<tabsize;i++) putchar(' ');
      left=-1;
      continue;
    }
    if(in == '\n') { left=-1; col=0; }
    putchar(in);
  }
  return 0;
}