@@ -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
3436static struct strbuf charset = STRBUF_INIT ;
3537static 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