mailinfo: move cmitmsg and patchfile to struct mailinfo

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2015-10-14 16:16:47 -07:00
parent f1e037b9af
commit 8f63588a6e

View File

@ -7,11 +7,11 @@
#include "utf8.h"
#include "strbuf.h"
static FILE *cmitmsg, *patchfile;
struct mailinfo {
FILE *input;
FILE *output;
FILE *cmitmsg;
FILE *patchfile;
struct strbuf name;
struct strbuf email;
@ -654,7 +654,7 @@ static int is_scissors_line(const struct strbuf *line)
static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
{
if (!cmitmsg)
if (!mi->cmitmsg)
return 0;
if (mi->header_stage) {
@ -677,9 +677,9 @@ static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
if (mi->use_scissors && is_scissors_line(line)) {
int i;
if (fseek(cmitmsg, 0L, SEEK_SET))
if (fseek(mi->cmitmsg, 0L, SEEK_SET))
die_errno("Could not rewind output message file");
if (ftruncate(fileno(cmitmsg), 0))
if (ftruncate(fileno(mi->cmitmsg), 0))
die_errno("Could not truncate output message file at scissors");
mi->header_stage = 1;
@ -697,19 +697,19 @@ static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
if (patchbreak(line)) {
if (mi->message_id)
fprintf(cmitmsg, "Message-Id: %s\n", mi->message_id);
fclose(cmitmsg);
cmitmsg = NULL;
fprintf(mi->cmitmsg, "Message-Id: %s\n", mi->message_id);
fclose(mi->cmitmsg);
mi->cmitmsg = NULL;
return 1;
}
fputs(line->buf, cmitmsg);
fputs(line->buf, mi->cmitmsg);
return 0;
}
static void handle_patch(struct mailinfo *mi, const struct strbuf *line)
{
fwrite(line->buf, 1, line->len, patchfile);
fwrite(line->buf, 1, line->len, mi->patchfile);
mi->patch_lines++;
}
@ -972,15 +972,15 @@ static int mailinfo(struct mailinfo *mi, const char *msg, const char *patch)
int peek;
struct strbuf line = STRBUF_INIT;
cmitmsg = fopen(msg, "w");
if (!cmitmsg) {
mi->cmitmsg = fopen(msg, "w");
if (!mi->cmitmsg) {
perror(msg);
return -1;
}
patchfile = fopen(patch, "w");
if (!patchfile) {
mi->patchfile = fopen(patch, "w");
if (!mi->patchfile) {
perror(patch);
fclose(cmitmsg);
fclose(mi->cmitmsg);
return -1;
}
@ -997,7 +997,7 @@ static int mailinfo(struct mailinfo *mi, const char *msg, const char *patch)
check_header(mi, &line, p_hdr_data, 1);
handle_body(mi, &line);
fclose(patchfile);
fclose(mi->patchfile);
handle_info(mi);
strbuf_release(&line);