summaryrefslogtreecommitdiff
path: root/builtin/mailinfo.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-09-17 21:17:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-09-17 22:24:52 (GMT)
commit176943b9658b1fa9ae3972156100d831d19c3576 (patch)
tree19b39b2c585260ef38740ba3b2f4c9d78d5cc777 /builtin/mailinfo.c
parent785ee4960c3d334cbc2b17ab74d2cebdf1b4db64 (diff)
downloadgit-176943b9658b1fa9ae3972156100d831d19c3576.zip
git-176943b9658b1fa9ae3972156100d831d19c3576.tar.gz
git-176943b9658b1fa9ae3972156100d831d19c3576.tar.bz2
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.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c
index eaf9e15..dd8b67c 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++;