mailinfo: move use_scissors and use_inbody_headers to struct mailinfo

Signed-off-by: Junio C Hamano <gitster@pobox.com>

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