--pretty=format: fix broken %ct and %at interpolation
authorJeff King <peff@peff.net>
Tue, 27 Mar 2007 23:26:28 +0000 (19:26 -0400)
committerJunio C Hamano <junkio@cox.net>
Wed, 28 Mar 2007 00:04:26 +0000 (17:04 -0700)
A pointer arithmetic error in fill_person caused random data
from the commit object to be included with the timestamp,
which looked something like:

    $ git-rev-list --pretty=format:%ct origin/next | head
    commit 98453bdb3db10db26099749bc4f2dc029bed9aa9
    1174977948 -0700

    Merge branch 'master' into next

    * master:
      Bisect: Use
    commit c0ce981f5ebfd02463ff697b2fca52c7a54b0625
    1174889646 -0700

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
commit.c

index 718e568855a37586f99f20bcfafd44cf3aa2b657..a92958cfacbfa88eee4cc52fef0f85308ddfc372 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -760,7 +760,7 @@ static void fill_person(struct interp *table, const char *msg, int len)
        if (msg + start == ep)
                return;
 
-       table[5].value = xstrndup(msg + start, ep - msg + start);
+       table[5].value = xstrndup(msg + start, ep - (msg + start));
 
        /* parse tz */
        for (start = ep - msg + 1; start < len && isspace(msg[start]); start++)