From: Junio C Hamano Date: Sat, 25 Nov 2006 08:01:27 +0000 (-0800) Subject: git-shortlog: fix common repository prefix abbreviation. X-Git-Tag: v1.5.0-rc0~212^2~1 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=c95044d4f3c98b52f16e32cfe09f3ff988a80d2a;p=git.git git-shortlog: fix common repository prefix abbreviation. The code to abbreviate the common repository prefix was totally borked. Signed-off-by: Junio C Hamano --- diff --git a/builtin-shortlog.c b/builtin-shortlog.c index b760b477e..bdd952c25 100644 --- a/builtin-shortlog.c +++ b/builtin-shortlog.c @@ -130,12 +130,17 @@ static void insert_author_oneline(struct path_list *list, memcpy(buffer, oneline, onelinelen); buffer[onelinelen] = '\0'; - while ((p = strstr(buffer, dot3)) != NULL) { - memcpy(p, "...", 3); - strcpy(p + 2, p + sizeof(dot3) - 1); + if (dot3) { + int dot3len = strlen(dot3); + if (dot3len > 5) { + while ((p = strstr(buffer, dot3)) != NULL) { + int taillen = strlen(p) - dot3len; + memcpy(p, "/.../", 5); + memmove(p + 5, p + dot3len, taillen + 1); + } + } } - onelines = item->util; if (onelines->nr >= onelines->alloc) { onelines->alloc = alloc_nr(onelines->nr);