#define USE_THE_REPOSITORY_VARIABLE
#include "git-compat-util.h"
#include "config.h"
#include "gettext.h"
#include "hex-ll.h"
#include "utf8.h"
#include "strbuf.h"
#include "mailinfo.h"
static void cleanup_space(struct strbuf *sb)
{ … }
static void get_sane_name(struct strbuf *out, struct strbuf *name, struct strbuf *email)
{ … }
static void parse_bogus_from(struct mailinfo *mi, const struct strbuf *line)
{ … }
static const char *unquote_comment(struct strbuf *outbuf, const char *in)
{ … }
static const char *unquote_quoted_string(struct strbuf *outbuf, const char *in)
{ … }
static void unquote_quoted_pair(struct strbuf *line)
{ … }
static void handle_from(struct mailinfo *mi, const struct strbuf *from)
{ … }
static void handle_header(struct strbuf **out, const struct strbuf *line)
{ … }
static int slurp_attr(const char *line, const char *name, struct strbuf *attr)
{ … }
static int has_attr_value(const char *line, const char *name, const char *value)
{ … }
static void handle_content_type(struct mailinfo *mi, struct strbuf *line)
{ … }
static void handle_content_transfer_encoding(struct mailinfo *mi,
const struct strbuf *line)
{ … }
static int is_multipart_boundary(struct mailinfo *mi, const struct strbuf *line)
{ … }
static void cleanup_subject(struct mailinfo *mi, struct strbuf *subject)
{ … }
static const char * const header[] = …;
static inline int skip_header(const struct strbuf *line, const char *hdr,
const char **outval)
{ … }
static int is_format_patch_separator(const char *line, int len)
{ … }
static struct strbuf *decode_q_segment(const struct strbuf *q_seg, int rfc2047)
{ … }
static struct strbuf *decode_b_segment(const struct strbuf *b_seg)
{ … }
static int convert_to_utf8(struct mailinfo *mi,
struct strbuf *line, const char *charset)
{ … }
static void decode_header(struct mailinfo *mi, struct strbuf *it)
{ … }
static int parse_header(const struct strbuf *line,
const char *hdr,
struct mailinfo *mi,
struct strbuf *val)
{ … }
static int check_header(struct mailinfo *mi,
const struct strbuf *line,
struct strbuf *hdr_data[], int overwrite)
{ … }
static int is_inbody_header(const struct mailinfo *mi,
const struct strbuf *line)
{ … }
static void decode_transfer_encoding(struct mailinfo *mi, struct strbuf *line)
{ … }
static inline int patchbreak(const struct strbuf *line)
{ … }
static int is_scissors_line(const char *line)
{ … }
static void flush_inbody_header_accum(struct mailinfo *mi)
{ … }
static int check_inbody_header(struct mailinfo *mi, const struct strbuf *line)
{ … }
static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
{ … }
static void handle_patch(struct mailinfo *mi, const struct strbuf *line)
{ … }
static void handle_filter(struct mailinfo *mi, struct strbuf *line)
{ … }
static int is_rfc2822_header(const struct strbuf *line)
{ … }
static int read_one_header_line(struct strbuf *line, FILE *in)
{ … }
static int find_boundary(struct mailinfo *mi, struct strbuf *line)
{ … }
static int handle_boundary(struct mailinfo *mi, struct strbuf *line)
{ … }
static void handle_filter_flowed(struct mailinfo *mi, struct strbuf *line,
struct strbuf *prev)
{ … }
static void summarize_quoted_cr(struct mailinfo *mi)
{ … }
static void handle_body(struct mailinfo *mi, struct strbuf *line)
{ … }
static void output_header_lines(FILE *fout, const char *hdr, const struct strbuf *data)
{ … }
static void handle_info(struct mailinfo *mi)
{ … }
int mailinfo(struct mailinfo *mi, const char *msg, const char *patch)
{ … }
int mailinfo_parse_quoted_cr_action(const char *actionstr, int *action)
{ … }
static int git_mailinfo_config(const char *var, const char *value,
const struct config_context *ctx, void *mi_)
{ … }
void setup_mailinfo(struct mailinfo *mi)
{ … }
void clear_mailinfo(struct mailinfo *mi)
{ … }