Skip to content

Commit ad57ef9

Browse files
committed
mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
Signed-off-by: Junio C Hamano <[email protected]>
1 parent 6200b75 commit ad57ef9

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

builtin/mailinfo.c

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ struct mailinfo {
2020
int keep_subject;
2121
int keep_non_patch_brackets_in_subject;
2222
int add_message_id;
23+
int use_scissors;
24+
int use_inbody_headers;
2325

2426
char *message_id;
2527
int patch_lines;
@@ -33,8 +35,6 @@ static enum {
3335

3436
static struct strbuf charset = STRBUF_INIT;
3537
static struct strbuf **p_hdr_data, **s_hdr_data;
36-
static int use_scissors;
37-
static int use_inbody_headers = 1;
3838

3939
#define MAX_BOUNDARIES 5
4040

@@ -663,7 +663,7 @@ static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
663663
return 0;
664664
}
665665

666-
if (use_inbody_headers && mi->header_stage) {
666+
if (mi->use_inbody_headers && mi->header_stage) {
667667
mi->header_stage = check_header(mi, line, s_hdr_data, 0);
668668
if (mi->header_stage)
669669
return 0;
@@ -677,7 +677,7 @@ static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
677677
if (metainfo_charset)
678678
convert_to_utf8(line, charset.buf);
679679

680-
if (use_scissors && is_scissors_line(line)) {
680+
if (mi->use_scissors && is_scissors_line(line)) {
681681
int i;
682682
if (fseek(cmitmsg, 0L, SEEK_SET))
683683
die_errno("Could not rewind output message file");
@@ -1006,12 +1006,14 @@ static int mailinfo(struct mailinfo *mi, const char *msg, const char *patch)
10061006
return 0;
10071007
}
10081008

1009-
static int git_mailinfo_config(const char *var, const char *value, void *unused)
1009+
static int git_mailinfo_config(const char *var, const char *value, void *mi_)
10101010
{
1011+
struct mailinfo *mi = mi_;
1012+
10111013
if (!starts_with(var, "mailinfo."))
1012-
return git_default_config(var, value, unused);
1014+
return git_default_config(var, value, NULL);
10131015
if (!strcmp(var, "mailinfo.scissors")) {
1014-
use_scissors = git_config_bool(var, value);
1016+
mi->use_scissors = git_config_bool(var, value);
10151017
return 0;
10161018
}
10171019
/* perhaps others here */
@@ -1024,6 +1026,7 @@ static void setup_mailinfo(struct mailinfo *mi)
10241026
strbuf_init(&mi->name, 0);
10251027
strbuf_init(&mi->email, 0);
10261028
mi->header_stage = 1;
1029+
mi->use_inbody_headers = 1;
10271030
git_config(git_mailinfo_config, &mi);
10281031
}
10291032

@@ -1065,11 +1068,11 @@ int cmd_mailinfo(int argc, const char **argv, const char *prefix)
10651068
else if (starts_with(argv[1], "--encoding="))
10661069
metainfo_charset = argv[1] + 11;
10671070
else if (!strcmp(argv[1], "--scissors"))
1068-
use_scissors = 1;
1071+
mi.use_scissors = 1;
10691072
else if (!strcmp(argv[1], "--no-scissors"))
1070-
use_scissors = 0;
1073+
mi.use_scissors = 0;
10711074
else if (!strcmp(argv[1], "--no-inbody-headers"))
1072-
use_inbody_headers = 0;
1075+
mi.use_inbody_headers = 0;
10731076
else
10741077
usage(mailinfo_usage);
10751078
argc--; argv++;

0 commit comments

Comments
 (0)