diff options
Diffstat (limited to 'stripspace.c')
-rw-r--r-- | stripspace.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/stripspace.c b/stripspace.c deleted file mode 100644 index 96cd0a8..0000000 --- a/stripspace.c +++ /dev/null @@ -1,48 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <ctype.h> - -/* - * Remove empty lines from the beginning and end. - * - * Turn multiple consecutive empty lines into just one - * empty line. - */ -static void cleanup(char *line) -{ - int len = strlen(line); - - if (len > 1 && line[len-1] == '\n') { - do { - unsigned char c = line[len-2]; - if (!isspace(c)) - break; - line[len-2] = '\n'; - len--; - line[len] = 0; - } while (len > 1); - } -} - -int main(int argc, char **argv) -{ - int empties = -1; - char line[1024]; - - while (fgets(line, sizeof(line), stdin)) { - cleanup(line); - - /* Not just an empty line? */ - if (line[0] != '\n') { - if (empties > 0) - putchar('\n'); - empties = 0; - fputs(line, stdout); - continue; - } - if (empties < 0) - continue; - empties++; - } - return 0; -} |