summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin-name-rev.c12
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;
}
}