diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-09-17 14:17:58 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-09-17 15:24:52 -0700 |
commit | 176943b9658b1fa9ae3972156100d831d19c3576 (patch) | |
tree | 19b39b2c585260ef38740ba3b2f4c9d78d5cc777 /builtin/mailinfo.c | |
parent | 785ee4960c3d334cbc2b17ab74d2cebdf1b4db64 (diff) | |
download | git-176943b9658b1fa9ae3972156100d831d19c3576.tar.gz |
mailinfo: do not concatenate charset= attribute values from mime headers
"Content-type: text/plain; charset=UTF-8" header should not appear
twice in the input, but it is always better to gracefully deal with
such a case. The current code concatenates the value to the values
we have seen previously, producing nonsense such as "utf8UTF-8".
Instead of concatenating, forget the previous value and use the last
value we see.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/mailinfo.c')
-rw-r--r-- | builtin/mailinfo.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c index eaf9e157a3..dd8b67cfaa 100644 --- a/builtin/mailinfo.c +++ b/builtin/mailinfo.c @@ -160,10 +160,9 @@ static int slurp_attr(const char *line, const char *name, struct strbuf *attr) const char *ends, *ap = strcasestr(line, name); size_t sz; - if (!ap) { - strbuf_setlen(attr, 0); + strbuf_setlen(attr, 0); + if (!ap) return 0; - } ap += strlen(name); if (*ap == '"') { ap++; |