diff options
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | spacify.c | 19 |
2 files changed, 22 insertions, 2 deletions
@@ -1,14 +1,14 @@ PREFIX:=/usr/local -LDFLAGS=-L/usr/local/lib -L$(PREFIX)/lib -lirc -lhashtable -lgcc_s -lidc -ldl CFLAGS=-pedantic -Wall -ggdb -I/usr/local/include -I$(PREFIX)/include -all: segfault libhack.so +all: segfault libhack.so spacify libhack.so: libhack.o ld -shared -o libhack.so libhack.o again: clean all +segfault: LDFLAGS=-L/usr/local/lib -L$(PREFIX)/lib -lirc -lhashtable -lgcc_s -lidc -ldl segfault: segfault.c access.h clean: @@ -16,3 +16,4 @@ clean: install: all install segfault /usr/local/bin/ + install spacify /usr/local/bin/ diff --git a/spacify.c b/spacify.c new file mode 100644 index 0000000..a02ba31 --- /dev/null +++ b/spacify.c @@ -0,0 +1,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; +} |