In olden days we might have wanted to behave differently in
decode_header() if the header line was encoded with RFC2047, but we
apparently do not do so, hence this helper function can go, together
with its return value.

Signed-off-by: Junio C Hamano <gits...@pobox.com>
---
 builtin/mailinfo.c | 23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c
index 2742d0d..3b015a5 100644
--- a/builtin/mailinfo.c
+++ b/builtin/mailinfo.c
@@ -525,19 +525,17 @@ static void convert_to_utf8(struct strbuf *line, const 
char *charset)
        strbuf_attach(line, out, strlen(out), strlen(out));
 }
 
-static int decode_header_bq(struct strbuf *it)
+static void decode_header(struct strbuf *it)
 {
        char *in, *ep, *cp;
        struct strbuf outbuf = STRBUF_INIT, *dec;
        struct strbuf charset_q = STRBUF_INIT, piecebuf = STRBUF_INIT;
-       int rfc2047 = 0;
 
        in = it->buf;
        while (in - it->buf <= it->len && (ep = strstr(in, "=?")) != NULL) {
                int encoding;
                strbuf_reset(&charset_q);
                strbuf_reset(&piecebuf);
-               rfc2047 = 1;
 
                if (in != ep) {
                        /*
@@ -567,22 +565,22 @@ static int decode_header_bq(struct strbuf *it)
                ep += 2;
 
                if (ep - it->buf >= it->len || !(cp = strchr(ep, '?')))
-                       goto decode_header_bq_out;
+                       goto release_return;
 
                if (cp + 3 - it->buf > it->len)
-                       goto decode_header_bq_out;
+                       goto release_return;
                strbuf_add(&charset_q, ep, cp - ep);
 
                encoding = cp[1];
                if (!encoding || cp[2] != '?')
-                       goto decode_header_bq_out;
+                       goto release_return;
                ep = strstr(cp + 3, "?=");
                if (!ep)
-                       goto decode_header_bq_out;
+                       goto release_return;
                strbuf_add(&piecebuf, cp + 3, ep - cp - 3);
                switch (tolower(encoding)) {
                default:
-                       goto decode_header_bq_out;
+                       goto release_return;
                case 'b':
                        dec = decode_b_segment(&piecebuf);
                        break;
@@ -601,17 +599,10 @@ static int decode_header_bq(struct strbuf *it)
        strbuf_addstr(&outbuf, in);
        strbuf_reset(it);
        strbuf_addbuf(it, &outbuf);
-decode_header_bq_out:
+release_return:
        strbuf_release(&outbuf);
        strbuf_release(&charset_q);
        strbuf_release(&piecebuf);
-       return rfc2047;
-}
-
-static void decode_header(struct strbuf *it)
-{
-       if (decode_header_bq(it))
-               return;
 }
 
 static void decode_transfer_encoding(struct strbuf *line)
-- 
2.6.1-320-g86a1181

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to