Clean up trailing whitespace when pretty-printing commits
authorLinus Torvalds <torvalds@osdl.org>
Sat, 15 Apr 2006 04:20:51 +0000 (21:20 -0700)
committerJunio C Hamano <junkio@cox.net>
Sat, 15 Apr 2006 04:46:08 +0000 (21:46 -0700)
Partly because we've messed up and now have some commits with trailing
whitespace, but partly because this also just simplifies the code, let's
remove trailing whitespace from the end when pretty-printing commits.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
commit.c

index c7bb8db..ca25574 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -557,16 +557,11 @@ unsigned long pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit
                if (fmt == CMIT_FMT_ONELINE)
                        break;
        }
-       if (fmt == CMIT_FMT_ONELINE) {
-               /* We do not want the terminating newline */
-               if (buf[offset - 1] == '\n')
-                       offset--;
-       }
-       else {
-               /* Make sure there is an EOLN */
-               if (buf[offset - 1] != '\n')
-                       buf[offset++] = '\n';
-       }
+       while (offset && isspace(buf[offset-1]))
+               offset--;
+       /* Make sure there is an EOLN for the non-oneline case */
+       if (fmt != CMIT_FMT_ONELINE)
+               buf[offset++] = '\n';
        buf[offset] = '\0';
        return offset;
 }