git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* format-patch subject-prefix gets truncated when using the --numbered flag
@ 2017-02-28 15:59 Adrian Dudau
  2017-02-28 17:42 ` Junio C Hamano
  2017-02-28 18:17 ` Jeff King
  0 siblings, 2 replies; 13+ messages in thread
From: Adrian Dudau @ 2017-02-28 15:59 UTC (permalink / raw)
  To: git@vger.kernel.org

Hello,

I noticed that the --subject-prefix string gets truncated sometimes,
but only when using the --numbered flat. Here's an example:

addu@sestofb11:/data/fb/addu/git$ export longm="very very very very
very very very very very very very very very very long prefix"


addu@sestofb11:/data/fb/addu/git$ git format-patch -1 --subject-
prefix="$longm][PATCH"

As expected, in the generated patch file we have:
Subject: [very very very very very very very very very very very very
very very long prefix][PATCH] 
 First batch after 2.12

But now, if I pass the --numbered flag too:
addu@sestofb11:/data/fb/addu/git$ git format-patch -1 --numbered --
subject-prefix="$longm][PATCH"

In the generated patch file we get this: 
Subject: [very very very very very very very very very very verFirst
batch 
 after 2.12

This is happening on the latest master branch, so I dug through the
code and tracked the issue to this piece of code in log-tree.c:

        if (opt->total > 0) {
                static char buffer[64];
                snprintf(buffer, sizeof(buffer),
                         "Subject: [%s%s%0*d/%d] ",
                         opt->subject_prefix,
                         *opt->subject_prefix ? " " : "",
                         digits_in_number(opt->total),
                         opt->nr, opt->total);
                subject = buffer;
        } else if (opt->total == 0 && opt->subject_prefix && *opt-
>subject_prefix) {
                static char buffer[256];
                snprintf(buffer, sizeof(buffer),
                         "Subject: [%s] ",
                         opt->subject_prefix);
                subject = buffer;
        } else {
                subject = "Subject: ";
        }

Apparently the size of the "buffer" var is different in the two
situations. Anybody knows if this is by design or just an old
oversight?
I can send a patch to fix it but I'm not very familiar with the git
code and I'm afraid some hidden consequence I don't see right now.

Cheers,
--Adrian

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-03-02  1:10 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-28 15:59 format-patch subject-prefix gets truncated when using the --numbered flag Adrian Dudau
2017-02-28 17:42 ` Junio C Hamano
2017-02-28 19:33   ` Junio C Hamano
2017-02-28 22:44     ` Jeff King
2017-02-28 18:17 ` Jeff King
2017-03-01 11:36   ` [PATCH 1/2] log-tree: factor out fmt_output_email_subject() René Scharfe
2017-03-01 11:37   ` [PATCH 2/2] pretty: use fmt_output_email_subject() René Scharfe
2017-03-01 15:41     ` René Scharfe
2017-03-01 18:08     ` Junio C Hamano
2017-03-01 19:32       ` Jeff King
2017-03-01 19:38         ` Junio C Hamano
2017-03-01 19:43           ` Jeff King
2017-03-01 19:22     ` Jeff King

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).