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>
This commit is contained in:
parent
05e625e5bf
commit
c6905e45f0
1
Makefile
1
Makefile
@ -726,6 +726,7 @@ LIB_OBJS += list-objects.o
|
||||
LIB_OBJS += ll-merge.o
|
||||
LIB_OBJS += lockfile.o
|
||||
LIB_OBJS += log-tree.o
|
||||
LIB_OBJS += mailinfo.o
|
||||
LIB_OBJS += mailmap.o
|
||||
LIB_OBJS += match-trees.o
|
||||
LIB_OBJS += merge.o
|
||||
|
1049
builtin/mailinfo.c
1049
builtin/mailinfo.c
File diff suppressed because it is too large
Load Diff
1020
mailinfo.c
Normal file
1020
mailinfo.c
Normal file
File diff suppressed because it is too large
Load Diff
40
mailinfo.h
Normal file
40
mailinfo.h
Normal file
@ -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 */
|
Loading…
Reference in New Issue
Block a user