X-Git-Url: https://secure.softndesign.org/git/?a=blobdiff_plain;f=indent.c;h=26b19288163877e594201fe048c3e0d0273f2fcb;hb=refs%2Fheads%2Fmaster;hp=a37dad77691017571e161d42ddd78d38ad9a029c;hpb=b51fe42213c4380949fe74743e78f52c9aa0585a;p=indent.git diff --git a/indent.c b/indent.c index a37dad7..26b1928 100644 --- a/indent.c +++ b/indent.c @@ -3,6 +3,7 @@ /* linker: debug.o */ #include +#include #include #include #include @@ -62,6 +63,7 @@ int indent (FILE *fin, FILE *fout, cmode_t cmode) { int string = 0; int character = 0; int special = 0; + int space = 0; while (!feof (fin)) { memset (bufin, 0, sizeof (bufin)); @@ -107,7 +109,9 @@ int indent (FILE *fin, FILE *fout, cmode_t cmode) { case ' ': case '\t': if (begin == 0) { - *ptout++ = *ptin; + if ((string) || (!space)) { + *ptout++ = *ptin; + } } break; case '{': @@ -168,6 +172,7 @@ int indent (FILE *fin, FILE *fout, cmode_t cmode) { } *ptout++ = *ptin; } + space = ((*ptin == ' ') || (*ptin == '\t')); special = (*ptin == '\\'); parent += (*ptin == '(') ? +1 : (*ptin == ')') ? -1 : 0; ptin++;