diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-10-14 17:44:55 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-10-21 15:59:34 -0700 |
commit | c6905e45f078530cda57690b0db6a7378dc1f794 (patch) | |
tree | 520e8dc5cfa3c23a9ab594346ee17fef1f30b86d /mailinfo.h | |
parent | 05e625e5bf5231af984f17b82be9c48063b37242 (diff) | |
download | git-c6905e45f078530cda57690b0db6a7378dc1f794.tar.gz |
mailinfo: libify
Move the bulk of the code from builtin/mailinfo.c to mailinfo.c
so that new callers can start calling mailinfo() directly.
Note that a few calls to exit() and die() need to be cleaned up
for the API to be truly useful, which will come in later steps.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'mailinfo.h')
-rw-r--r-- | mailinfo.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/mailinfo.h b/mailinfo.h new file mode 100644 index 0000000000..1e97b737f3 --- /dev/null +++ b/mailinfo.h @@ -0,0 +1,40 @@ +#ifndef MAILINFO_H +#define MAILINFO_H + +#define MAX_BOUNDARIES 5 + +struct mailinfo { + FILE *input; + FILE *output; + FILE *patchfile; + + struct strbuf name; + struct strbuf email; + int keep_subject; + int keep_non_patch_brackets_in_subject; + int add_message_id; + int use_scissors; + int use_inbody_headers; + const char *metainfo_charset; + + struct strbuf *content[MAX_BOUNDARIES]; + struct strbuf **content_top; + struct strbuf charset; + char *message_id; + enum { + TE_DONTCARE, TE_QP, TE_BASE64 + } transfer_encoding; + int patch_lines; + int filter_stage; /* still reading log or are we copying patch? */ + int header_stage; /* still checking in-body headers? */ + struct strbuf **p_hdr_data; + struct strbuf **s_hdr_data; + + struct strbuf log_message; +}; + +extern void setup_mailinfo(struct mailinfo *); +extern int mailinfo(struct mailinfo *, const char *msg, const char *patch); +extern void clear_mailinfo(struct mailinfo *); + +#endif /* MAILINFO_H */ |