diff options
author | Junio C Hamano <junkio@cox.net> | 2006-04-12 13:10:27 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-04-12 13:10:27 -0700 |
commit | f4ee3eb68906f079dea45de4f1bbb03d68189eb3 (patch) | |
tree | ccd20e32930eda97bcdfa02b80fc06b308dd1814 /stripspace.c | |
parent | 475443c8489d9167b944367d8ec8bfef77bee0a5 (diff) | |
download | git-f4ee3eb68906f079dea45de4f1bbb03d68189eb3.tar.gz |
stripspace: make sure not to leave an incomplete line.
When dealing with a commit log message for human consumption, it
never makes sense to keep a log that ends with an incomplete
line, so make it a part of the clean-up process done by
git-stripspace.
Acked-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'stripspace.c')
-rw-r--r-- | stripspace.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/stripspace.c b/stripspace.c index 96cd0a88f0..dee1ef06ed 100644 --- a/stripspace.c +++ b/stripspace.c @@ -6,9 +6,9 @@ * Remove empty lines from the beginning and end. * * Turn multiple consecutive empty lines into just one - * empty line. + * empty line. Return true if it is an incomplete line. */ -static void cleanup(char *line) +static int cleanup(char *line) { int len = strlen(line); @@ -21,16 +21,19 @@ static void cleanup(char *line) len--; line[len] = 0; } while (len > 1); + return 0; } + return 1; } int main(int argc, char **argv) { int empties = -1; + int incomplete = 0; char line[1024]; while (fgets(line, sizeof(line), stdin)) { - cleanup(line); + incomplete = cleanup(line); /* Not just an empty line? */ if (line[0] != '\n') { @@ -44,5 +47,7 @@ int main(int argc, char **argv) continue; empties++; } + if (incomplete) + putchar('\n'); return 0; } |