@@ -20,6 +20,8 @@ struct mailinfo {
20
20
int keep_subject ;
21
21
int keep_non_patch_brackets_in_subject ;
22
22
int add_message_id ;
23
+ int use_scissors ;
24
+ int use_inbody_headers ;
23
25
24
26
char * message_id ;
25
27
int patch_lines ;
@@ -33,8 +35,6 @@ static enum {
33
35
34
36
static struct strbuf charset = STRBUF_INIT ;
35
37
static struct strbuf * * p_hdr_data , * * s_hdr_data ;
36
- static int use_scissors ;
37
- static int use_inbody_headers = 1 ;
38
38
39
39
#define MAX_BOUNDARIES 5
40
40
@@ -663,7 +663,7 @@ static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
663
663
return 0 ;
664
664
}
665
665
666
- if (use_inbody_headers && mi -> header_stage ) {
666
+ if (mi -> use_inbody_headers && mi -> header_stage ) {
667
667
mi -> header_stage = check_header (mi , line , s_hdr_data , 0 );
668
668
if (mi -> header_stage )
669
669
return 0 ;
@@ -677,7 +677,7 @@ static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
677
677
if (metainfo_charset )
678
678
convert_to_utf8 (line , charset .buf );
679
679
680
- if (use_scissors && is_scissors_line (line )) {
680
+ if (mi -> use_scissors && is_scissors_line (line )) {
681
681
int i ;
682
682
if (fseek (cmitmsg , 0L , SEEK_SET ))
683
683
die_errno ("Could not rewind output message file" );
@@ -1006,12 +1006,14 @@ static int mailinfo(struct mailinfo *mi, const char *msg, const char *patch)
1006
1006
return 0 ;
1007
1007
}
1008
1008
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_ )
1010
1010
{
1011
+ struct mailinfo * mi = mi_ ;
1012
+
1011
1013
if (!starts_with (var , "mailinfo." ))
1012
- return git_default_config (var , value , unused );
1014
+ return git_default_config (var , value , NULL );
1013
1015
if (!strcmp (var , "mailinfo.scissors" )) {
1014
- use_scissors = git_config_bool (var , value );
1016
+ mi -> use_scissors = git_config_bool (var , value );
1015
1017
return 0 ;
1016
1018
}
1017
1019
/* perhaps others here */
@@ -1024,6 +1026,7 @@ static void setup_mailinfo(struct mailinfo *mi)
1024
1026
strbuf_init (& mi -> name , 0 );
1025
1027
strbuf_init (& mi -> email , 0 );
1026
1028
mi -> header_stage = 1 ;
1029
+ mi -> use_inbody_headers = 1 ;
1027
1030
git_config (git_mailinfo_config , & mi );
1028
1031
}
1029
1032
@@ -1065,11 +1068,11 @@ int cmd_mailinfo(int argc, const char **argv, const char *prefix)
1065
1068
else if (starts_with (argv [1 ], "--encoding=" ))
1066
1069
metainfo_charset = argv [1 ] + 11 ;
1067
1070
else if (!strcmp (argv [1 ], "--scissors" ))
1068
- use_scissors = 1 ;
1071
+ mi . use_scissors = 1 ;
1069
1072
else if (!strcmp (argv [1 ], "--no-scissors" ))
1070
- use_scissors = 0 ;
1073
+ mi . use_scissors = 0 ;
1071
1074
else if (!strcmp (argv [1 ], "--no-inbody-headers" ))
1072
- use_inbody_headers = 0 ;
1075
+ mi . use_inbody_headers = 0 ;
1073
1076
else
1074
1077
usage (mailinfo_usage );
1075
1078
argc -- ; argv ++ ;
0 commit comments