diff options
-rw-r--r-- | builtin-name-rev.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/builtin-name-rev.c b/builtin-name-rev.c index 7055ac3108..08c8aabf94 100644 --- a/builtin-name-rev.c +++ b/builtin-name-rev.c @@ -189,6 +189,7 @@ static void name_rev_line(char *p, struct name_ref_data *data) unsigned char sha1[40]; const char *name = NULL; char c = *(p+1); + int p_len = p - p_start + 1; forty = 0; @@ -204,13 +205,10 @@ static void name_rev_line(char *p, struct name_ref_data *data) if (!name) continue; - if (data->name_only) { - fwrite(p_start, p - p_start + 1 - 40, 1, stdout); - printf(name); - } else { - fwrite(p_start, p - p_start + 1, 1, stdout); - printf(" (%s)", name); - } + if (data->name_only) + printf("%.*s%s", p_len - 40, p_start, name); + else + printf("%.*s (%s)", p_len, p_start, name); p_start = p + 1; } } |