diff: allow turning on textconv explicitly for plumbing
[gitweb.git] / builtin-name-rev.c
index 7055ac3108c5ce815728dce0127639170acfaf98..08c8aabf9428447abad7def693d7b22c5330e180 100644 (file)
@@ -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;
                }
        }