You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.3 KiB
56 lines
1.3 KiB
#ifndef MAILINFO_H |
|
#define MAILINFO_H |
|
|
|
#include "strbuf.h" |
|
|
|
#define MAX_BOUNDARIES 5 |
|
|
|
enum quoted_cr_action { |
|
quoted_cr_unset = -1, |
|
quoted_cr_nowarn, |
|
quoted_cr_warn, |
|
quoted_cr_strip, |
|
}; |
|
|
|
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 quoted_cr; /* enum quoted_cr_action */ |
|
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; |
|
unsigned int format_flowed:1; |
|
unsigned int delsp:1; |
|
unsigned int have_quoted_cr:1; |
|
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 inbody_header_accum; |
|
struct strbuf **p_hdr_data; |
|
struct strbuf **s_hdr_data; |
|
|
|
struct strbuf log_message; |
|
int input_error; |
|
}; |
|
|
|
int mailinfo_parse_quoted_cr_action(const char *actionstr, int *action); |
|
void setup_mailinfo(struct mailinfo *); |
|
int mailinfo(struct mailinfo *, const char *msg, const char *patch); |
|
void clear_mailinfo(struct mailinfo *); |
|
|
|
#endif /* MAILINFO_H */
|
|
|