Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
mailinfo: move transfer_encoding to struct mailinfo
author
Junio C Hamano
<gitster@pobox.com>
Wed, 14 Oct 2015 23:16:05 +0000
(16:16 -0700)
committer
Junio C Hamano
<gitster@pobox.com>
Wed, 21 Oct 2015 22:53:25 +0000
(15:53 -0700)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/mailinfo.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
28c6bfe
)
diff --git
a/builtin/mailinfo.c
b/builtin/mailinfo.c
index 1048a46e40aa2cf51f84606abf8ea5655e65c0d6..f74973ea0d248b0ecb5eb250a808115ae105dfca 100644
(file)
--- a/
builtin/mailinfo.c
+++ b/
builtin/mailinfo.c
@@
-23,14
+23,14
@@
struct mailinfo {
const char *metainfo_charset;
char *message_id;
const char *metainfo_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? */
};
int patch_lines;
int filter_stage; /* still reading log or are we copying patch? */
int header_stage; /* still checking in-body headers? */
};
-static enum {
- TE_DONTCARE, TE_QP, TE_BASE64
-} transfer_encoding;
static struct strbuf charset = STRBUF_INIT;
static struct strbuf **p_hdr_data, **s_hdr_data;
static struct strbuf charset = STRBUF_INIT;
static struct strbuf **p_hdr_data, **s_hdr_data;
@@
-221,14
+221,15
@@
static void handle_message_id(struct mailinfo *mi, const struct strbuf *line)
mi->message_id = strdup(line->buf);
}
mi->message_id = strdup(line->buf);
}
-static void handle_content_transfer_encoding(const struct strbuf *line)
+static void handle_content_transfer_encoding(struct mailinfo *mi,
+ const struct strbuf *line)
{
if (strcasestr(line->buf, "base64"))
{
if (strcasestr(line->buf, "base64"))
- transfer_encoding = TE_BASE64;
+
mi->
transfer_encoding = TE_BASE64;
else if (strcasestr(line->buf, "quoted-printable"))
else if (strcasestr(line->buf, "quoted-printable"))
- transfer_encoding = TE_QP;
+
mi->
transfer_encoding = TE_QP;
else
else
- transfer_encoding = TE_DONTCARE;
+
mi->
transfer_encoding = TE_DONTCARE;
}
static int is_multipart_boundary(const struct strbuf *line)
}
static int is_multipart_boundary(const struct strbuf *line)
@@
-511,7
+512,7
@@
static int check_header(struct mailinfo *mi,
len = strlen("Content-Transfer-Encoding: ");
strbuf_add(&sb, line->buf + len, line->len - len);
decode_header(mi, &sb);
len = strlen("Content-Transfer-Encoding: ");
strbuf_add(&sb, line->buf + len, line->len - len);
decode_header(mi, &sb);
- handle_content_transfer_encoding(&sb);
+ handle_content_transfer_encoding(
mi,
&sb);
ret = 1;
goto check_header_out;
}
ret = 1;
goto check_header_out;
}
@@
-544,11
+545,11
@@
static int check_header(struct mailinfo *mi,
return ret;
}
return ret;
}
-static void decode_transfer_encoding(struct strbuf *line)
+static void decode_transfer_encoding(struct
mailinfo *mi, struct
strbuf *line)
{
struct strbuf *ret;
{
struct strbuf *ret;
- switch (transfer_encoding) {
+ switch (
mi->
transfer_encoding) {
case TE_QP:
ret = decode_q_segment(line, 0);
break;
case TE_QP:
ret = decode_q_segment(line, 0);
break;
@@
-835,7
+836,7
@@
static int handle_boundary(struct mailinfo *mi, struct strbuf *line)
}
/* set some defaults */
}
/* set some defaults */
- transfer_encoding = TE_DONTCARE;
+
mi->
transfer_encoding = TE_DONTCARE;
strbuf_reset(&charset);
/* slurp in this section's info */
strbuf_reset(&charset);
/* slurp in this section's info */
@@
-873,9
+874,9
@@
static void handle_body(struct mailinfo *mi, struct strbuf *line)
}
/* Unwrap transfer encoding */
}
/* Unwrap transfer encoding */
- decode_transfer_encoding(line);
+ decode_transfer_encoding(
mi,
line);
- switch (transfer_encoding) {
+ switch (
mi->
transfer_encoding) {
case TE_BASE64:
case TE_QP:
{
case TE_BASE64:
case TE_QP:
{