diff options
Diffstat (limited to 'builtin-stripspace.c')
-rw-r--r-- | builtin-stripspace.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/builtin-stripspace.c b/builtin-stripspace.c deleted file mode 100644 index f0d4d9e2d1..0000000000 --- a/builtin-stripspace.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "builtin.h" - -/* - * Remove empty lines from the beginning and end. - * - * Turn multiple consecutive empty lines into just one - * empty line. Return true if it is an incomplete line. - */ -static int cleanup(char *line) -{ - int len = strlen(line); - - if (len && line[len-1] == '\n') { - if (len == 1) - return 0; - do { - unsigned char c = line[len-2]; - if (!isspace(c)) - break; - line[len-2] = '\n'; - len--; - line[len] = 0; - } while (len > 1); - return 0; - } - return 1; -} - -void stripspace(FILE *in, FILE *out) -{ - int empties = -1; - int incomplete = 0; - char line[1024]; - - while (fgets(line, sizeof(line), in)) { - incomplete = cleanup(line); - - /* Not just an empty line? */ - if (line[0] != '\n') { - if (empties > 0) - fputc('\n', out); - empties = 0; - fputs(line, out); - continue; - } - if (empties < 0) - continue; - empties++; - } - if (incomplete) - fputc('\n', out); -} - -int cmd_stripspace(int argc, const char **argv, const char *prefix) -{ - stripspace(stdin, stdout); - return 0; -} |