summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--log-tree.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/log-tree.c b/log-tree.c
index 4e3c7fd6fb..ac86194047 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -102,6 +102,16 @@ static int append_signoff(char *buf, int buf_sz, int at, const char *signoff)
return at;
}
+static unsigned int digits_in_number(unsigned int number)
+{
+ unsigned int i = 10, result = 1;
+ while (i <= number) {
+ i *= 10;
+ result++;
+ }
+ return result;
+}
+
void show_log(struct rev_info *opt, const char *sep)
{
static char this_header[16384];
@@ -155,7 +165,8 @@ void show_log(struct rev_info *opt, const char *sep)
if (opt->total > 0) {
static char buffer[64];
snprintf(buffer, sizeof(buffer),
- "Subject: [PATCH %d/%d] ",
+ "Subject: [PATCH %0*d/%d] ",
+ digits_in_number(opt->total),
opt->nr, opt->total);
subject = buffer;
} else if (opt->total == 0)