Re: [PATCH] Add "--summary" option to git diff.
Linus Torvalds <torvalds@osdl.org> writes:
Show 8 quoted lines
> On Sun, 14 May 2006, Sean wrote:
>>
>> What's a bit more worrying is that:
>>
>> $ PAGER= ./git whatchanged -B -C --stat --no-merges --diff-filter=RC
>>
>> Causes the same problem on the current (1.3.2) release branch without any
>> other patches applied at all.
And the culprit was _me_ X-<. *BLUSH*
-- >8 --
diff --git a/diff.c b/diff.c
index 7a7b839..2d72673 100644
--- a/diff.c
+++ b/diff.c
@@ -232,11 +232,16 @@ static char *pprint_rename(const char *a
* name-a => name-b
*/
if (pfx_length + sfx_length) {
+ int a_len = len_a - pfx_length - sfx_length;
+ int b_len = len_b - pfx_length - sfx_length;
+ if (a_len < 0) a_len = 0;
+ if (b_len < 0) b_len = 0;
+
name = xmalloc(len_a + len_b - pfx_length - sfx_length + 7);
sprintf(name, "%.*s{%.*s => %.*s}%s",
pfx_length, a,
- len_a - pfx_length - sfx_length, a + pfx_length,
- len_b - pfx_length - sfx_length, b + pfx_length,
+ a_len, a + pfx_length,
+ b_len, b + pfx_length,
a + len_a - sfx_length);
}
else {